您的位置:首页 > 其它

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

2012-09-18 16:24 615 查看
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: