方法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;
}