有没有办法捕获网页浏览器的关闭?

4

两年前,我需要在Web应用程序中将关闭网页浏览器作为JavaScript事件捕获。当时,我发现没有一种方法适用于所有浏览器。IE有一个我可以使用的事件,但它只适用于IE。我研究了其他解决方法,比如向服务器发送心跳式ping,但当时我不喜欢任何一种方法。

现在有没有办法捕获关闭网页浏览器?谢谢!

2个回答

9

You can use the

window.onbeforeunload 

有一个JavaScript事件可以做到这一点,虽然它会捕获不仅仅是关闭浏览器的动作。该事件还会在某人试图导航到另一个页面、刷新当前页面等情况下触发。如果您想在用户离开当前页面之前提醒他们保存未保存的更改,那么这将非常方便。


事件名称在 HTML DOM 中全部为小写。建议您更改为 "window.onbeforeunload"。 - Richard Szalay
通过这种方法,查询字符串中不需要包含任何信息吗?否则,如何保持用户的有效性?我认为这就是我最初研究此事时没有使用卸载类型事件的原因。 - Flynn81
我不明白。使用这个事件不应该干扰或用于任何类型的会话/身份验证管理。您能否在评论中或问题本身中详细说明一下您的情况? - Jesse Taber

2

onunload在IE和Firefox中都可以使用。


1
只要您不打算取消关闭,这种方法就很好。如果您要取消关闭,则需要使用onbeforeunload。 - Richard Szalay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接