【问题标题】:Can we capture an event when user presses X on the browser window?当用户在浏览器窗口上按下 X 时,我们可以捕获事件吗?
【发布时间】:2010-01-20 18:03:27
【问题描述】:
有没有办法区分 Javascript 中的刷新和关闭?我现在使用 window.onbeforeunload,它在 IE 中效果很好。为了避免这个在任何地方被调用,但关闭,我在每个按钮上都设置了一个标志......这似乎是一个困难的、hacky的解决方案,但在谷歌上搜索了几个小时后,这是我能找到的最好的。
IE 没有 onclose 事件吗??????还是点击?
我只需要支持IE,不支持FF,所以请不要发布任何与FF相关的东西,我不能使用它。
谢谢!
【问题讨论】:
标签:
javascript
browser-close
【解决方案1】:
据我所知,在 JavaScript 中无法捕获 any 浏览器中 X(关闭)按钮的点击。在我看来,这是出于安全考虑...... JavaScript 不能(永远不能)监听操作系统消息,比如关闭当前窗口。
我知道的唯一解决方案(您似乎在使用)是:
<body onunload="alert('Fired');">
但是当您发现是否在关闭和重新加载时触发。这也是正常行为,因为 AFAIK,对于 JS 引擎,重新加载与关闭然后重新打开同一页面相同。
【解决方案2】:
AFAIK,没有 IE 特定的 onclose 事件。