当用户试图离开页面时,如何执行javascript函数?

时间:2011-05-27 00:54:06

标签: javascript jquery function chat

我正在寻找一种自动将用户状态设置为“离线”的方法,为此我需要执行一个JavaScript函数,除非有更好的想法。当用户尝试离开页面时,如何运行功能?我知道有一种方法可以显示一个消息框,所以应该有办法实现这一点。

3 个答案:

答案 0 :(得分:5)

使用unload方法调用ajax方法。请注意重要的async属性,该属性向浏览器说明在关闭窗口之前需要等待HTTP响应(以确保服务器处于“离线”状态)。

$(window).unload(function() {
    $.ajax({
        url: "setoffline.php",
        async: false
    });
});

答案 1 :(得分:0)

尝试使用这个。

<body onbeforeunload="return RunOnClose()">
function HandleOnClose() {
    //do your magic here
    return true;
}

答案 2 :(得分:0)

当窗口“卸载”时会触发跟随事件:

window.onbeforeunload

我在类似场景中将onload与onload事件处理程序配对,我的数据库中有一行跟踪用户上次登录会话。它在登录/访问网站时有一个“输入”日期,我会在onunload事件中设置“Last seen”DateTime,但我也在页面的“onload”上清除“Last seen”日期时间

因此,他们最后一次关闭任何页面时,设置了“上次查看”日期并且它仍然存在