5

有什么方法可以在以下代码中检测到用户单击“离开页面”或“留在页面上”按钮?

$(window).on('beforeunload', function (){
    return "You save some unsaved data, Do you want to leave?";
});
4

2 回答 2

13

通过一些技巧,您至少可以确定用户是否留下。
如果用户离开了页面,您对此无能为力:

var timeout;

$(window).on('beforeunload', function (){
    timeout = setTimeout(function() {
        // user stayed, do stuff here
    }, 1000);
    return "You save some unsaved data, Do you want to leave?";
});

小提琴

于 2013-07-20T07:22:50.860 回答
0

iirc,当用户决定留在页面上时,不会触发卸载事件。所以:

$(window).on('unload', function (){
    // user has left the page, do stuff here
}
于 2013-07-23T14:11:18.293 回答