捕获和处理Web浏览器关闭事件(Catching and handling Web Browser

2019-08-16 19:46发布

我使用Windows窗体和WebBrowser控件,我需要捕捉和处理的WebBrowser控件调用来关闭的。

我已经看了这一点,但它不工作,因为我需要它: http://blogs.artinsoft.net/Mrojas/archive/2009/05/21/Extended-WebBrowser-Control-Series-WebBrowser-Control-and- windowClose()。ASPX

这是我得到的消息:

---------------------------
Web Browser
---------------------------
The webpage you are viewing is trying to close the window.

Do you want to close this window?
---------------------------
Yes   No   
---------------------------

我需要赶上这一事件,并压制它,然后后执行的功能。 有谁知道一个简单的方法来做到这一点?

Answer 1:

搜索无处不在,并没有真正得到我需要的东西后,我管理偶然参考绊倒到:

HtmlDocument htmlDocument = this.webBrowser1.Document;
htmlDocument.Window.Unload += new HtmlElementEventHandler(Window_Unload);

WebBrowser控件被关闭和设置文档之前不会获取卸载。

void Window_Unload(object sender, HtmlElementEventArgs e)
{
    // Do your stuff here...
    // Call Method...
    // Close Form...
}

这就是现在为我工作。



Answer 2:

也许你正在通过的Javascript关闭此窗口。 基本上,这是安全原因。 除非它是由脚本本身打开你不能关闭窗口。 可能的解决方法可能是使用该Javascript代码

function CloseWindow()
{
   window.open('','_self','');
   window.close();
}

这里是链接到同一个例子

https://msmvps.com/blogs/paulomorgado/archive/2007/11/02/how-to-close-browser-windows-in-windows-internet-explorer-7.aspx

但我不知道IE浏览器的所有版本。



文章来源: Catching and handling Web Browser Close Event