窗口卸载以触发事件

时间:2013-07-25 21:41:47

标签: javascript jquery

当用户离开某个页面时,我想让他们确认他们要离开该页面:

window.onbeforeunload = function(){
    if($('.fancy-blue-button.check-toggle').text() == 'Check In Task'){
        return 'Note that this task will automatically be checked back in once you leave this page.';
    }
};

$(window).unload(function() {
  alert('Handler for .unload() called.');
});

第一个,onbeforeunload有效,第二个有unload,似乎没有做任何事情。

2 个答案:

答案 0 :(得分:1)

unload功能不会发生警报。您可以尝试使用console.log

<script>
$(window).unload(function () {
    console.log("Bye!");
});
</script>

FIDDLE

如果您想使用ajax来调用脚本,可以按照以下步骤进行操作

<script>
$(window).unload(function () {
    $.ajax({
        type: 'post',
        async: false,
        url: 'scriptUrlGoesHere'
    });
});
</script>

答案 1 :(得分:0)

可能会将您的警报更改为console.log,并确保您的控制台在重定向时无法清除!有些浏览器会阻止在卸载时触发警报,因此只需确保卸载不起作用,而不是由于浏览器而导致的警报