需要比页面卸载更早的东西吗?

时间:2013-07-03 16:06:42

标签: javascript jquery

我已经设置了一个卸载侦听器,它设置一个标志,指示来自ajax请求的错误处理程序检查。

jQuery(window).unload(function() {
   unloadhappening = true;
}); 

但是,可以中止ajax请求(当用户导航到另一个页面时),并在触发unload事件之前调用ajax请求的错误处理程序。

我想知道我能早点卸货吗?显然,我可以在每个链接上放置一个监听器来移动页面,但是如果有的话,我会寻找更简洁的方法。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用onbeforeunload$(window).on('beforeunload'),但会从函数返回一个空字符串,以防止提示导航。

window.onbeforeunload = function(e) {
    unloadhappening = true;
    // maybe other logic
    return '';  // or maybe return null
}

我还没有对所有浏览器中的弹出框进行测试,因此您的milage可能会有所不同。