GeckoWeb浏览器访问错误的URL,总是弹出消息框

c.l*_*lin 5 c# geckofx winforms

找不到www.addssds333fdsd.com.cn。请检查名称并重试。

 GeckoWebBrowser _webA = new GeckoWebBrowser();
 _webA.Navigate("www.addssds333fdsd.com.cn");
Run Code Online (Sandbox Code Playgroud)

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

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

Bar*_*osz 1

您需要实现 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
}
Run Code Online (Sandbox Code Playgroud)

然后,在浏览器应用程序启动时的某个位置(可能是Application_Startup()WPF),分配提示服务:

PromptFactory.PromptServiceCreator = () => new FilteredPromptService();
Run Code Online (Sandbox Code Playgroud)

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