这里有关于
Windows窗体的很棒的教程
How to inject Javascript in WebBrowser control?
我尝试过它,效果很好
但问题是在wpf应用程序中无法识别所使用的对象.所以我要问的是wpf应用程序中下面函数的等价物.谢谢.
HtmlElement head = webbrowser1.Document.GetElementsByTagName("head")[0]; HtmlElement scriptEl = webbrowser1.Document.CreateElement("script"); IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement; string srJquery = File.ReadAllText("jquery.txt"); element.text = srJquery; head.AppendChild(scriptEl);
上面的函数在Windows窗体应用程序c#4.0中完美地工作,但在WPF应用程序中无法识别使用的对象,如HtmlElement.
解决方法
这有用吗?
private void Webbrowser_LoadCompleted (object sender,System.Windows.Navigation.NavigationEventArgs e) { var webbrowser = sender as Webbrowser; var document = webbrowser.Document as mshtml.HTMLDocument; var ahref = document.getElementsByTagName("A").Cast<mshtml.IHTMLElement>().First(); ahref.setAttribute( "onmouseenter","javascript:alert('Hi');",1); }
您需要的是Microsoft.mshtml(.net API而不是MS office one)参考.
另请参阅此代码,以获取使用Webbrowser的ObjectForScripting属性的WPF webbrowser控件,它可以帮助您注入javascript …
如果这有帮助,请告诉我.