2012-07-08 250 views
1

我想检测浏览器关闭(不是窗口(选项卡))并运行脚本。我试过onunloadonbeforeunload,但它们与tab关闭时工作正常,但如果关闭整个浏览器,则不会发生任何事情。我怎样才能做到这一点?谢谢..!如何检测浏览器(不是窗口)关闭事件

编辑:

我只想做任何这些类型的事件的服务器端清理。有没有办法做到这一点?

+3

我想这就需要JavaScript来访问浏览器的chrome;我认为这是不可能的(如果我诚实的话,我会希望它会是这样),而且肯定不是一个好的安全功能。你在做什么? – 2012-07-08 15:47:16

+2

你不能。为什么浏览器允许一个网站知道(甚至可能阻止它)? – Bergi 2012-07-08 15:47:17

+0

我想为任何此类事件做一次服务器端清理。有没有办法做到这一点? – 2012-07-08 15:49:22

回答

2

基于被问及的问题'我怎么能[访问浏览器关闭事件]?'唯一可能的答案是:你不能;这是不可能的。也不是,出于安全原因,它应该是。

我想做一个服务器端清理任何这种事件。有没有办法做到这一点?

我能想到的,使用JavaScript的唯一方法,是触发Ajax调用服务器端脚本,告知关闭事件中,使用onunloadonbeforeunload,并具有脚本收拾任何会话的可能仍然是开放的。

+0

是的,我尝试使用onunload和onbeforeunload使用Ajax调用。它正在关闭制表符,但不适用于浏览器关闭。 – 2012-07-08 15:54:33

+0

是的,但重点在于:JavaScript无法访问浏览器关闭事件。为什么它需要'浏览器关闭'而不是窗口或标签 - 关闭事件? – 2012-07-08 15:56:10

+0

我也有这些事件。但为了提供额外的保护,我还需要在浏览器上进行清理。 – 2012-07-08 15:59:35