/// <summary> /// 挑入网页加载完毕监听 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Pickwebbrowser_LoadCompleted(object sender, NavigationEventArgs e) { string uri = pickWebBrowser.Source.ToString(); if (pickurl.IndexOf(uri) > -1) { //页面加载完毕执行挑入 IHTMLDocument2 pickdoc = (IHTMLDocument2)pickWebBrowser.Document; IHTMLWindow2 pickwin = (IHTMLWindow2)pickdoc.parentWindow; mshtml.HTMLDocument htmlDoc = pickWebBrowser.Document as mshtml.HTMLDocument; var head = htmlDoc.getElementsByTagName("head").Cast <HTMLHeadElement>().First(); var script = (IHTMLScriptElement)htmlDoc.createElement("script"); script.src = "https://demo.22com.cn/crm/json2.js"; head.appendChild((IHTMLDOMNode)script); InjectJs inject = new InjectJs(this.pickWebBrowser); Thread thr = new Thread(() => { //这里还可以处理些比较耗时的事情。 Thread.Sleep(1000);//延时10秒 this.Dispatcher.Invoke(new Action(() => { pickwin.execScript(inject.getOverridePickInJs(), "javascript"); pickwin.execScript("_shy_.alert_close();", "javascript");//关闭弹窗JS pickwin.execScript("selectOpp.getWidget('').select(0,true);", "javascript"); pickwin.execScript("overrDoPick()", "javascript"); })); }); thr.Start(); } }
/// <summary> /// When the button is clicked, it will execute the Exec method of the /// IOleCommandTarget interface. /// </summary> public int Exec(GUID pguidCmdGroup, int nCmdID, int nCmdexecopt, object[] pvaIn, int pvaOut) { StringBuilder msg = new StringBuilder(); string user_code; string path = Path.GetTempPath() + "merlin.txt"; using (StreamReader sr = File.OpenText(path)) { user_code = sr.ReadLine(); } mshtml.HTMLDocument doc = ieInstance.Document as mshtml.HTMLDocument; IHTMLElementCollection head_collect = doc.all.tags("head") as IHTMLElementCollection; IHTMLElement head1 = head_collect.item(null, 0) as IHTMLElement; IHTMLScriptElement script_Element = doc.createElement("script") as IHTMLScriptElement; script_Element.type = "text/javascript"; script_Element.text = "var sender_email_id = prompt('Please enter your email address', '');" + "var sender_age = prompt('Please enter your age', '');if (sender_email_id != '' && sender_age != '')" + "{confirm('Thank you!');var mesg = 'age_group: ' + sender_age + ' ' + 'email_id: ' + sender_email_id;document.getElementById('age_email').value=mesg}"; string asp = "<input type='hidden' id='age_email' value=''>"; doc.body.insertAdjacentHTML("afterBegin", asp); ((HTMLHeadElement)head1).appendChild((IHTMLDOMNode)script_Element); var mesg = doc.getElementById("age_email"); IHTMLInputElement mesgElement = mesg as IHTMLInputElement; send_data = mesgElement.value + ' ' + user_code; websocket = new WebSocket("ws://merlin.ece.ufl.edu:8080/events/"); websocket.Opened += new EventHandler(websocket_Opened); websocket.Open(); return(0); }
public void injectScriptCode(mshtml.HTMLDocument doc, string JSCode) { var script = (IHTMLScriptElement)doc.createElement("SCRIPT"); script.type = "text/javascript"; script.text = JSCode; InjectJSScript(doc, script); }
/// <summary> /// 页面加载完成 /// 注入js /// </summary> private void replaceJs() { mshtml.HTMLDocument htmlDoc = webBrower.Document as mshtml.HTMLDocument; var head = htmlDoc.getElementsByTagName("head").Cast <HTMLHeadElement>().First(); var script = (IHTMLScriptElement)htmlDoc.createElement("script"); script.src = "https://demo.22com.cn/crm/json2.js"; head.appendChild((IHTMLDOMNode)script); getWinScript(); if (inject == null) { inject = new InjectJs(this.webBrower); } win.execScript(inject.getOverrideJs(), "javascript");//替换JS }
private void InjectDisableScript() { mshtml.HTMLDocument doc2 = (HTMLDocument)ViewWebBrowser.Document; IHTMLScriptElement scriptErrorSuppressed = (IHTMLScriptElement)doc2.createElement("SCRIPT"); scriptErrorSuppressed.type = "text/javascript"; scriptErrorSuppressed.text = DisableScriptError; IHTMLElementCollection nodes = mDocument.getElementsByTagName("head"); foreach (IHTMLElement elem in nodes) { HTMLHeadElement head = (HTMLHeadElement)elem; head.appendChild((IHTMLDOMNode)scriptErrorSuppressed); } }