我尝试通过GeckoFX和C#执行类似alert('test message')的javascript命令 但我不能。
我使用Navigate和ExecuteCommand
尝试没有结果我的代码是
int i=0;
GeckoWebBrowser webBrowser
webBrowser.Navigate("alert('"+i.ToString()+"');");
webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");
任何人都可以帮助我吗?
答案 0 :(得分:4)
您可以使用AutoJSContext与geckofx一起运行javascript。
类似的东西:
GeckoWebBrowser browser = ....;
using (AutoJSContext context = new AutoJSContext(browser.JSContext))
{
string result;
context.EvaluateScript("3 + 2;", out result)
}
See EvaluateScript unittests了解更多信息和示例。
如果您使用的是超级旧版geckofx,则可能需要更高版本 - geckofx
答案 1 :(得分:0)
对于新版本而不是 geckoWebBrowser1.JSContext ,您应该编写 geckoWebBrowser1.Window
我的代码正在运行,并且我在另一则旧帖子here
中给出了示例答复答案 2 :(得分:0)
在调用文档js函数时,可以使用Navigate方法来避免AccessViolatoinException:
webView.Navigate("javascript:$$external.consoleLog('message text');");