javascript - 在页面卸载之前需要一些东西吗?

标签 javascript jquery

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

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

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

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

谢谢

最佳答案

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

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

我还没有测试在所有浏览器中避免弹出框的解决方案,因此您的情况可能会有所不同。

关于javascript - 在页面卸载之前需要一些东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452885/

相关文章:

javascript - 在灯箱中打开不同的图像

javascript - spring mvc中使用jquery进行URL映射

javascript - 尝试在函数之间传递 jQuery 移动范围 slider 值不起作用

javascript - 如何使用正则表达式从 Istanbul 尔文本摘要记者中提取测试范围?

javascript - 以逗号正则表达式分隔的整数

JavaScript 全局回调函数没有被调用?

javascript - $(window).load(function()) 和 NProgress JQuery 插件。页面已完全加载,但 NProgress 仍在运行

javascript - 如何使用每个有 mustache 的 javascript?

javascript - 为什么特权方法和公共(public)方法之间存在区别?如何知道使用哪个?

带 URL 的 Javascript 模态弹出窗口