gpt4 book ai didi

jquery - $(document).ajaxComplete 不会在内容脚本内部触发

转载 作者:行者123 更新时间:2023-12-01 03:45:11 24 4
gpt4 key购买 nike

我正在开发一个 Google Chrome 扩展程序,以便为我经常访问的网站提供一些附加功能,这让我尝试在 AJAX 请求成功时再次运行脚本。由于站点的性质,这是必要的。

继续:简单地说,我想要做的是,每当 AJAX 请求成功时就触发一个函数。因此,我编写了以下内容并在相关网站上的控制台中运行它:

$(document).ajaxSuccess(function() {
console.log('AJAX success');
});

然后我继续使用该网站,每次通过 AJAX 加载新内容时,我确实都通过 .ajaxSuccess 得到了确认,到目前为止一切都很好。

然后我开始将所有的零碎内容组合在一起,使其成为一个合适的 Chrome 扩展。除了一件事之外,一切仍然有效:当 .ajaxSuccess 位位于内容脚本中(我已确保正确执行等等)时,网站上的 AJAX 请求不再触发它。

我试图理解它,但运气不佳。我觉得该扩展可能需要一些特殊权限才能访问 AJAX 相关的内容,尽管我不知道那可能是什么。截至目前,扩展程序的权限如下:

"permissions": [
"storage", "tabs", "http://website.com/*"
]

最佳答案

我最终设计了一个类似于此的有点令人不快的解决方法:

var DOMTimeout = null;
$('.class').bind('DOMNodeInserted', function() {
if(DOMTimeout)
clearTimeout(DOMTimeout);

DOMTimeout = setTimeout(function() { console.log('AJAX probably added something'); }, 150);
});

关于jquery - $(document).ajaxComplete 不会在内容脚本内部触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com