禁用JavaScript警报GeckoFX C#

时间:2015-04-28 22:27:14

标签: javascript c# winforms geckofx

我正在尝试在GeckoFX-33 + xulrunner 33(winforms c#)中禁用JavaScript警报,但我找不到解决方案。我检查了示例代码,源代码,但我找不到阻止警报的东西。我在about:config搜索也没有成功。

有人知道我最终能在哪里找到参考资料吗?

2 个答案:

答案 0 :(得分:0)

在以前的版本中,您可以

webBrowser.JavascriptError += (sender, error) => {
  // do something
}

然而根据issue 7 on geckofx 33,需要做一些工作来支持新的调试接口:

  

从firefox 33中删除了geckofx服务jsdIDebuggerService.JavascriptError事件实现使用了此服务。因此需要使用firefox新调试接口重新实现JavascriptError事件处理程序。

答案 1 :(得分:0)

      geckoWebBrowser1.JavascriptError += (sender, error) =>
        {
            GeckoWebBrowser browser = geckoWebBrowser1;
            string text = "window.alert = function(){};";
            using (AutoJSContext context = new AutoJSContext(browser.Window.JSContext))
            {
                string result;
                //toolStripLabel1.Text = "was is loaded?";

                context.EvaluateScript(text, (nsISupports)browser.Window.DomWindow, out result);
            }
        };

以下是Gecko 29的最终代码。