javascript - 禁用 JavaScript 警报 Gecko45 C#

标签 javascript c# gecko geckofx alerts

我想禁用所有 js 警报。此代码无法正常工作 gecko 45

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);
    }
};

最佳答案

如果您想禁用所有警报,那么您需要实现自己的 nsIPromptService2,您将在其中覆盖警报发生时调用的方法。

public class FilteredPromptService : nsIPromptService2, nsIPrompt
{
        public void Alert(string dialogTitle, string text)
        {
           //do nothing, 
        }
        //and so on for other alerts/prompts
 }

请记住,您还需要在初始化引擎后通过调用进行注册:

PromptFactory.PromptServiceCreator = () => new FilteredPromptService();

关于javascript - 禁用 JavaScript 警报 Gecko45 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44187530/

相关文章:

javascript - 无法从 Angular 的下拉列表中填充和发布值

javascript - ExpressJS 路由中的正则表达式

javascript - 使用 RxJS 捕获一组击键

c# - 自动从 ListView 子项构建数组

html - SVG + CSS3 错误,多个浏览器?

javascript - 仅适用于一对一,其中一对多,webrtc

c# - FXCop 选角警告

C# 创建具有自定义属性的基本表单

c# - ABCpdf nuget 包 XULRunner 文件夹已损坏?

Javascript - HTML Canvas 上的 Gecko 边框半径自适应(CSS border-radius)