WPF下抑制WebBrowser不停弹出各种脚本错误

2019-06-17  本文已影响0人  达哥傻乐

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)

上一篇 下一篇

猜你喜欢

热点阅读