这里有关于
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 …
如果这有帮助,请告诉我.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。