javascript - 如果所有 ajax 未完成且用户离开窗口或页面

标签 javascript jquery ajax

我创建了一个脚本,该脚本在所有 ajax 完成后启动。我正在尝试修改脚本并添加一个条件,例如如果ajax未完成并且用户离开窗口然后触发函数。这可能吗?

var isDone=false;
$(document).ajaxStop(function() {
    if(isDone) {
        return; 
    } else {
        isDone=true;
        $.post("lib/ajax.html", { action: 'update_date', domain: domain });
    }
    //if(isDone == false && ) if ajax is not done and user leaves page 
    // exits then post to update date
});

最佳答案

要检查用户是否离开页面,请使用以下函数并在其中检查 isDone 标志:

$(window).unload(function(){
  if(!isDone) {
   <<execute function>>
  }
});

请告诉我这是否有效。

关于javascript - 如果所有 ajax 未完成且用户离开窗口或页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27101521/

相关文章:

javascript - 仅当屏幕超过 760px 时才调整表格大小

javascript - 如何在asp.net中使用 'onKeyUp'属性?

javascript - Yii2:如何使用Ajax获取数组对象?

将 classList.add 添加到数组时,Javascript 控制台错误

javascript - PHP 或 JavaScript : Allow text to appear on specific page only

javascript - 如何使用 JavaScript 更改数组中每个项目的 bgcolor

ajax - Drupal 的 Ajax : Passing values by url vs data param

javascript - 如果找到,按定义的值排序

javascript - 在 jquery 中的最后一个文本之后添加字符串

javascript - 无法使用 $.ajax() 获得 REST 响应