1. 背景html
WebBrowser控件在加载页面时,可能会弹出各类Alert、Confirm弹窗。点击弹窗中的肯定按钮以后,页面才能正常的加载出来。这样的交互效果繁琐,用户使用起来极其不友好,甚至恶心。web
2. 解决方案:spa
1. 添加引用: mshtml.dll(全称:microsoft html object library)htm
2 .为WebBrowser添加事件事件
private void WebView_Navigated(object sender, WebBrowserNavigatedEventArgs e) { InjectAlertBlocker(); }
private void InjectAlertBlocker()
{
HtmlElement head = webView.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webView.Document.CreateElement("script");
mshtml.IHTMLScriptElement element = (mshtml.IHTMLScriptElement)scriptEl.DomElement;
string alertBlocker = "window.alert = function () { }";
element.text = alertBlocker;
head.AppendChild(scriptEl);
webView.ScriptErrorsSuppressed = true;
}ip