JS通过InvokeScript

时间:2013-06-30 08:03:13

标签: c# .net browser webbrowser-control

如何执行JS代码:

callbacks [0] (this, {"__title": null});

通过 - >

wb.Document.InvokeScript();

或许还有什么办法?

2 个答案:

答案 0 :(得分:3)

你可以像这样使用eval JS函数:

var javascript = "[insert the JS code you want to perform]"

wb.Document.InvokeScript("eval", new object[] { javascript });

但请注意,如果您想将Windows 8上的软件作为appstore应用程序移植,WebView控件(替换WebBrowser)无法调用eval函数(也没有alert功能,我忘了最后一个,但你可以在互联网上找到更多的文档。

答案 1 :(得分:1)

感谢问题解决了!!!

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function MyJsCode() {callbacks [0] (this, {"__title": null});}";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("MyJsCode");