2

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

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

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

我想知道我可以在卸载之前得到一个事件吗?显然,我可以在每个链接上放置一个监听器以从页面移动,但如果有的话,我正在寻找一种更简洁的方式。

谢谢

4

1 回答 1

0

您可能可以使用onbeforeunload$(window).on('beforeunload')但从函数返回一个空字符串来阻止有关导航的提示。

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

我还没有测试解决方案来避免所有浏览器中的弹出框,所以你的里程可能会有所不同。

于 2013-07-03T16:13:46.670 回答