WPF下的WebBrowser没有直接抑制错误弹出的方法或者属性,MSDN上提供解决方案如下:
static void SuppressScriptErrors(WebBrowser webBrowser, bool hide)
{
webBrowser.Navigating += (s, e) =>
{
var fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
if (fiComWebBrowser == null)
return;
object objComWebBrowser = fiComWebBrowser.GetValue(webBrowser);
if (objComWebBrowser == null)
return;
objComWebBrowser.GetType().InvokeMember("Silent", System.Reflection.BindingFlags.SetProperty, null, objComWebBrowser, new object[] { hide });
};
}
在加载页面之前调用该方法设置hide为true就能抑制错误的弹出了。
达叔傻乐 (darwin.zuo@163.com)