在WPF的WebBrowser控件中抑制脚本错误

今天用WPF的WebBrowser控件的时候,发现其竟然没有ScriptErrorsSuppressed属性,导致其到处乱弹脚本错误的对话框,在MSDN上找到了如下解决方案

 1  static  void SuppressScriptErrors(WebBrowser webBrowser,  bool hide)
 2 {
 3     webBrowser.Navigating += (s, e) =>
 4         {
 5             var fiComWebBrowser =  typeof(WebBrowser).GetField( " _axIWebBrowser2 ", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
 6              if (fiComWebBrowser ==  null)
 7                  return;
 8 
 9              object objComWebBrowser = fiComWebBrowser.GetValue(webBrowser);
10              if (objComWebBrowser ==  null)
11                  return;
12 
13             objComWebBrowser.GetType().InvokeMember( " Silent ", System.Reflection.BindingFlags.SetProperty,  null, objComWebBrowser,  new  object[] { hide });
14         };
15 }

 

你可能感兴趣的:(WebBrowser)