C# 屏蔽webbrowser的脚本错误

方法1:

这个方法很简单,就是将webbrowser的属性ScriptErrorsSuppressed 设置为true

但是当 ScriptErrorsSuppressed 设置为 true 时,WebBrowser 控件将隐藏其源自基础 ActiveX 控件的所有对话框,而不仅仅是脚本错误。 有时,在显示某些对话框(例如,用于浏览器安全设置和用户登录的对话框)时,可能需要取消显示脚本错误。 在这种情况下,应将 ScriptErrorsSuppressed 设置为 false,并在 HtmlWindow.Error 事件的处理程序中取消显示脚本错误。 

基于以上原因就有了方法二:

利用HtmlWindow.Error 事件 this.webBrowser1.Document.Window.Error += new HtmlElementErrorEventHandler(scriptWindow_Error);

这个事件我是加在了navigated事件里面,

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)

 {

 this.webBrowser1.Document.Window.Error += new HtmlElementErrorEventHandler(scriptWindow_Error);

}

然后就可以处理该事件了

private void scriptWindow_Error(object sender, HtmlElementErrorEventArgs e)
        {
           
MessageBox.Show("脚本错误,第"+e.LineNumber+"行:"+e.Description);
            e.Handled = true;
        }

你可能感兴趣的:(C# 屏蔽webbrowser的脚本错误)