我想检查是否所有 ajax 请求都已完成,然后才与网页上的元素进行交互。因此,我打开了chrome浏览器的开发人员控制台。在搜索栏中输入 url 并按 ENTER 键后,在控制台中我多次点击$.active
,在结果中,大多数时候我可以看到返回值为0
但有时为1
我用手点击$.active
命令,因此我无法始终看到一致的结果。是否有任何我可以在控制台中输入的 java 脚本代码,点击它后,$.active
命令将被一一点击,直到提到的次数?
如果$
是 jQuery,可以添加一个ajaxComplete
回调,并检查里面是否$.active
:
$(document).on('ajaxComplete', () => {
Promise.resolve().then(() => {
if (!$.active) {
console.log('All done');
}
});
});
它不是一行代码,但它应该可以工作。(您可以通过在控制台中运行它,然后在 Stack Overflow 的顶栏中打开您的收件箱或信誉记录来测试它。将发送一个 ajax 请求,完成后,ajaxComplete
将运行,$.active
将设置为 0(
需要Promise.resolve().then
,因为只有在ajaxComplete
回调运行后$.active
才会递减。