/// <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> /// 页面加载完成 /// 注入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 }