【发布时间】:2014-05-04 12:46:25
【问题描述】:
我有以下代码
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (current_state == "request_4")
{
webBrowser1.Invoke(new Action(() => webBrowser1.ScriptErrorsSuppressed = true));
webBrowser1.Invoke(new Action(() => webBrowser1.Refresh(WebBrowserRefreshOption.Completely)));
InjectAlertBlocker();
}
}
private void InjectAlertBlocker()
{
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
string alertBlocker = "window.alert = function () { }";
element.text = alertBlocker;
head.AppendChild(scriptEl);
}
我正在执行的请求的刷新是 POST 请求,因此 WebBrowser 实例一直在询问我是否要通过显示对话框窗口来“重试”请求。如何接受或根本不显示?
抑制错误或InjectAlertBlocker() 无济于事。
我不是很了解http://www.codeproject.com/Articles/31163/Suppressing-Hosted-WebBrowser-Control-Dialogs这种做法。
如果有人能解释如何使用该解决方案,我将不胜感激。
【问题讨论】:
标签: c# webbrowser-control