在 WPF 中使用 WebBrowser 控件显示网页时,经常会报脚本错误的提示。通过反射设置静默模式,可以解决该问题:
public void SuppressScriptErrors(WebBrowser wb, bool hide)
{
FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if (fiComWebBrowser == null) return;
object objComWebBrowser = fiComWebBrowser.GetValue(wb);
if (objComWebBrowser == null) return;
objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { hide });
}
在 WebBrowser 的 Navigated 事件中调用以上代码即可:
private void WebBrowser_OnNavigated(object sender, NavigationEventArgs e)
{
SuppressScriptErrors(this.WebBrowser,true);
}










