如果访客通过点击“X”按钮关闭浏览器窗口,如何触发功能。

3
我想做的是,当用户点击关闭浏览器窗口的x按钮时,仅触发某些函数,而不是像以下函数一样在刷新或点击“后退”按钮时触发。
$(window).unload( function () { alert("Bye now!"); } );

那么有没有办法实现这个?提前感谢。

1
我认为无法区分这些操作。 - pomeh
尝试使用JavaScript在新窗口中打开您的页面,并使用此解决方案来检测它何时关闭。此解决方案可用于在不同域上关闭子窗口时通知父窗口。 - Blazemonger
3个回答

1
不,这是不可能的。 onbeforeunload 事件会做类似的事情,但它总是在窗口关闭时触发。它不能区分窗口卸载的方式。

1

你可以尝试在页面加载时强制将用户定位到默认的位置哈希值#default。然后,如果用户使用返回按钮导航回来,你可以使用计时器或窗口的“popstate”事件来检测这一点。然后,你可以在此时执行一些操作,比如将他们发送到另一个URL。

通过这种方式,你可以使用“onbeforeunload”事件检测窗口关闭,并使用上面提到的方法检测返回按钮按下。虽然有些混乱,但它确实有效。


1

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