有没有人知道在javascript / jQuery中监听窗口关闭事件的可靠方法?
窗口是父窗口,而不是任何子实例。即如果窗口被错误关闭,访问者再次启动浏览器并加载之前访问过的网址。
答案 0 :(得分:2)
您可以使用window.unload事件设置cookie或使用本地存储来使用new.date()来节省时间,然后查看访问者是否在设定的时间内返回。
类似的东西:
$(window).unload(function() {
localStorage.setItem(“theyLeft”, new Date());
}
然后加载检查:
$(window).load(function() {
var timeGoneBy = new Date() - localStorage.getItem(“theyLeft”);
//calculate time gone by, and do something if visitor returned within given time etc.
}
需要进行大量改进,本地存储应该有cookie作为后备,但只是为了显示它的主旨。
答案 1 :(得分:0)
尝试使用unload方法。
当用户导航时,会将unload事件发送到window元素 远离页面。这可能意味着很多事情之一。用户可以 点击链接离开页面,或输入新的URL 地址栏。前进和后退按钮将触发事件。 关闭浏览器窗口将导致触发事件。甚至 页面重新加载将首先创建一个卸载事件。
您也可以尝试使用JS onunload和onbeforeunload事件。