我想要做的是,仅当用户尝试通过单击 x 按钮关闭浏览器窗口时才能触发某些功能。但不是在刷新时,“返回”按钮单击事件,如以下功能。
$(window).unload( function () { alert("Bye now!"); } );
那么有什么方法可以实现这一点吗?提前谢谢
我想要做的是,仅当用户尝试通过单击 x 按钮关闭浏览器窗口时才能触发某些功能。但不是在刷新时,“返回”按钮单击事件,如以下功能。
$(window).unload( function () { alert("Bye now!"); } );
那么有什么方法可以实现这一点吗?提前谢谢
不,这是不可能的。该onbeforeunload
事件会执行类似的操作,但是当窗口关闭时总是会触发。它不区分窗口卸载的方式。
您可以尝试在用户加载页面后立即强制用户使用#default 的默认位置哈希。然后,如果该人使用后退按钮导航回来,您可以使用计时器或窗口的“popstate”事件检测到这一点。然后,您可以在此时执行一些操作,例如将它们发送到另一个 url。
通过这种方式,您可以使用上一段中提到的方法检测带有“onbeforeunload”事件和后退按钮按下的窗口关闭。凌乱,但它的工作原理。
几个答案指出您将无法做到这一点: 如何区分由刷新或窗口关闭触发的卸载事件? 以及 如何区分刷新或窗口关闭触发的卸载事件? 建议的两种“解决方法”都是检查鼠标位置并询问 kinator。