【发布时间】:2016-02-19 13:47:54
【问题描述】:
所以基本上,每当用户通过关闭浏览器、关闭选项卡或只是切换到新网站离开我的网站时,我想触发一个 ajax 调用。但是,我想排除重新加载。我在 stackoverflow 上看到过这样的解决方案:
window.onbeforeunload = function(){
// call some ajax call
};
但是,此解决方案也会在重新加载时触发,这是我不想要的。
【问题讨论】:
-
w3schools.com/jsref/event_onunload.asp 表示“用户重新加载页面时也会触发onunload事件”
-
使用会话或 Cookie。
-
问题已被多次询问。答案是,你看不出来,再加上现代浏览器在页面退出时会杀死打开的 httprequests,所以当浏览器退出时这是一个竞争条件。并且有一些方法可以退出 onbeforeunload/unload 不会触发的浏览器
标签: javascript events javascript-events event-handling