WPF WebBrowser抑制Suppress 弹出 脚本错误 对话框 但是样式改变 需要继续改善
1.添加引用
using System.Reflection;
using System.Windows.Controls;
2.静态类扩展方法(this)
public static class WebBrowserExtensions
{
public static void SuppressScriptErrors(this WebBrowser webBrowser,bool hide)
{
FieldInfo fInfo = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if(fInfo==null)
{
return;
}
object objBrowser = fInfo.GetValue(webBrowser);
if (objBrowser == null)
{
return;
}
objBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objBrowser, new object[] { hide });
}
}
3.调用,
public MainWindow()
{
InitializeComponent();
wb.Navigate("http://www.alibaba.com/");
var browser = wb as WebBrowser;
WebBrowserExtensions.SuppressScriptErrors(browser, true);
}
4.总结。
实现了不弹出脚本错误提示框,但是网页本身的样式也已经改变,需要捕捉异常,处理。