c# – GeckoWebBrowser访问错误的URL,始终弹出消息框

找不到www.addssds333fdsd.com.cn.请检查名称,然后重试.

 GeckoWebBrowser _webA = new GeckoWebBrowser();
 _webA.Navigate("www.addssds333fdsd.com.cn");

当我访问不正确的URL时,应用程序将弹出消息框.

如何捕获异常或删除消息框.

最佳答案 您需要实现nsIPromptServcice2和nsIPrompt接口

在那里,您将获得一个方法列表(例如Alert();),您只是不提供实现.
这将“抓住”例外.

创建以下类(您需要为一堆方法提供实现,例如Alert,Confirm,Prompt等

public class FilteredPromptService : nsIPromptService2, nsIPrompt
{

    public void Alert(string dialogTitle, string text)
    {
         //do your stuff here
    } 
    //... other methods to follow
}

然后,在浏览器应用程序启动的某个地方(如果是WPF,可能在Application_Startup()中),分配提示服务:

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

另外,请注意上面的PromptService是静态的,因此这将应用于应用程序中的所有GeckoBrowser实例.

点赞