WPF的WebBrowser屏蔽弹出脚本错误窗口

WPF中使用System.Windows.Controls.WebBrowser时脚本错误会弹出提示框,但这个WebBrowser没有提供类似System.Windows.Forms.WebBrowser的ScriptErrorsSuppressed方法,于是MSDN上有了解决办法,但是试了试不行,改了下就可以啦!关键是在合适的地方使用代码。

 原文:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4f686de1-8884-4a8d-8ec5-ae4eff8ce6db/

webBrowser.Navigating += webBrowser1_Navigating;

webBrowser.Navigated事件是不行的,我这边是这样的。

 

public void SuppressScriptErrors(WebBrowser webBrowser, bool Hide)
{
FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if (fiComWebBrowser == null) return;

object objComWebBrowser = fiComWebBrowser.GetValue(webBrowser);
if (objComWebBrowser == null) return;

objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { Hide });
}
void webBrowser1_Navigating(object sender, NavigatingCancelEventArgs e)
{
SuppressScriptErrors(webBrowser, true);
}

原文地址:https://www.cnblogs.com/wancy86/p/WebBrowser.html