gpt4 book ai didi

javascript - 页面重新加载后如何从内容脚本访问/绑定(bind)到 DOM?

转载 作者:行者123 更新时间:2023-12-03 08:37:25 25 4
gpt4 key购买 nike

我有一个 chrome 扩展,其中页面是从内容脚本内部重新加载的。内容脚本正在使用当前事件选项卡上的 popup.js 中的 chrome.tabs.executeScript() 运行。

重新加载后,我无法从内容脚本绑定(bind)到窗口的滚动事件。有没有办法重新捕获重新加载的 DOM 来绑定(bind)到滚动事件?

更新:

popup.js

chrome.tabs.executeScript(null, { file: 'sendArticleLength.js', allFrames: true}, function(result) {
count = result;
chrome.tabs.reload(targetTabID, function() {
chrome.tabs.executeScript({file: 'sendRemainingTime.js', allFrames: true}, function(){
chrome.tabs.sendMessage(targetTabID, {wordcount:count});
});
});

发送剩余时间.js

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
if(request.wordcount) {
wc = request.wordcount;
window.onscroll = function(){
alert('scrolled!');
}
}
});

在sendRemainingTime.js中,我想在popup.js中触发的重新加载完成后绑定(bind)到onscroll事件。但目前,滚动在重新加载之前绑定(bind)。

最佳答案

更新:

由于调试显示真正的问题是其他问题:-),即使用了实际重新加载页面的 var location = 赋值以及 chrome.tabs.reload 立即执行其回调,而不等待页面实际重新加载,因此 chrome.tabs.onUpdated 监听器解决了该问题。

关于javascript - 页面重新加载后如何从内容脚本访问/绑定(bind)到 DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33167812/

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