1

我尝试通过 GeckoFX 和 C# 执行像 alert('test message') 这样的 javascript 命令,但我不能。

我尝试使用 Navigate 和 ExecuteCommand 没有结果

我的代码是

    int i=0;    
    GeckoWebBrowser webBrowser
    webBrowser.Navigate("alert('"+i.ToString()+"');");
    webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");

谁能帮我?

4

3 回答 3

7

您可以使用 AutoJSContext 通过 geckofx 运行 javascript。

就像是:

GeckoWebBrowser browser = ....;

using (AutoJSContext context = new AutoJSContext(browser.JSContext))
{                               
   string result;
   context.EvaluateScript("3 + 2;", out result)
}

有关更多信息和示例,请参阅 EvaluateScript 单元测试。

如果您使用的是 geckofx 的超旧版本,您可能需要获取更高版本 - geckofx

于 2013-07-23T13:53:37.490 回答
3

对于新版本而不是geckoWebBrowser1.JSContext你应该写geckoWebBrowser1.Window

我的代码正在运行,我已经在这里的另一篇旧帖子中回答了示例

于 2018-12-28T08:40:41.707 回答
0

您可以使用 Navigate 方法在调用文档 js 函数期间避免 AccessViolatoinException:

webView.Navigate("javascript:$$external.consoleLog('message text');");
于 2019-01-18T14:12:39.533 回答