GeckoWebBrowser access an incorrect URL,Always pop

2019-02-23 23:32发布

www.addssds333fdsd.com.cn could not be found. Please check the name and try again.

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

When I Access An incorrect URL,Application will pop up message box.

How to catch the Exception or drop the message box.

1条回答
霸刀☆藐视天下
2楼-- · 2019-02-24 00:14

You need to implement the nsIPromptServcice2 and nsIPrompt interfaces

There you will get a list of methods (e.g. Alert();) where you simply don't provide an implementation. That will 'catch' the exception.

Create a following class (you will need to provide implementation for a bunch of methods, such as Alert, Confirm, Prompt etc

public class FilteredPromptService : nsIPromptService2, nsIPrompt
{

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

Then, somewhere at the startup of the browser app (maybe in Application_Startup() in case of WPF), assign the prompt service:

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

Also, please notice that the above PromptService is static, so this will be applied to all instances of GeckoBrowser in your application.

查看更多
登录 后发表回答