增强的WebBrowser浏览器控件,支持NavigateError,支持重写网页的window.alert()方法。
// 追加事件
....
this.webBrowser1.NavigateError += new AdvWebBrowser.WebBrowserNavigateErrorEventHandler(webBrowser1_NavigateError);
this.webBrowser1.Quit += new EventHandler(webBrowser_Quit);
....
void webBrowser_Quit(object sender, EventArgs e)
{
// JavaScript window.close();
this.Close();
}
///
/// 页面发生错误时执行
///
///
///
void webBrowser1_NavigateError(object sender, WebBrowserNavigateErrorEventArgs e)
{
if (e.StatusCode != HttpStatusCode.OK)
{
// 发生错误时,转向本地页面
if (e.StatusCode == HttpStatusCode.NotFound)
{
}
//else if (e.StatusCode == HttpStatusCode.InternalServerError) {
//
//}
else if (e.StatusCode.ToString() == "-2146697211")
{
MessageBox.Show("无法连接到网络,请检查您的网络设置。", "服务不可用");
this.Close();
}
else
{
//string err = string.Format("NavigateError: {0:d} = {0}", e.StatusCode);
//MessageBox.Show(err);
}
}
}
代码正文