onbeforeunload的不同操作

时间:2013-11-20 00:27:21

标签: javascript onbeforeunload

我正在使用Ajax编写一个简单的聊天脚本,并希望指出用户何时离开页面。已经阅读了几篇文档并发现它有效:

window.onbeforeunload = leaveChat;
function leaveChat(){
    ... my code
    return 'Dont go...';
}

不幸的是(并且逻辑上),如果他们取消退出,我的代码仍然执行并且即使他们仍在页面上,他们也会被标记为离开?它只应在确认离开页面时执行。有什么建议吗?

我会使用onunload,但它似乎不适用于我的任何浏览器(Chrome,IE)。

1 个答案:

答案 0 :(得分:1)

首先,您应该使用以下命令添加事件处理程序:

window.addEventListener('beforeunload', function() {
    // Confirmation code here
});

window.addEventListener('unload', function() {
    // fire pixel tag to exit chat on server here
    // UI interactions are not possible in this event
});

进一步研究:

unload event reference

beforeunload event reference

Window.onunload reference