如何在浏览器关闭时触发jQuery

时间:2011-11-28 17:46:18

标签: javascript jquery html

  

可能重复:
  javascript detect browser close tab/close browser

有没有人知道在javascript / jQuery中监听窗口关闭事件的可靠方法?

窗口是父窗口,而不是任何子实例。即如果窗口被错误关闭,访问者再次启动浏览器并加载之前访问过的网址。

2 个答案:

答案 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事件。