gpt4 book ai didi

javascript - URL更改时调用内容脚本

转载 作者:行者123 更新时间:2023-12-03 06:14:59 24 4
gpt4 key购买 nike

我是Chrome扩展程序的新手。我知道那里有很多类似的问题和信息,但是似乎都没有解决这个问题。

我需要在与*://*.youtube.com/watch?v=*匹配的每个页面上执行内容脚本。

我已经尝试使用上述值和*://*.youtube.com/*作为match属性,但是由于YouTube处理请求的方式,上述两种方法均无法正常工作。我也尝试过使用onhashchange事件,但是YouTube当然不在其URL中使用 anchor 。我已经阅读了webRequest,但是当有人在评论中滚动并且页面加载了更多评论时,不需要调用该函数。

我需要的是一种在URL更改时调用内容脚本的方法。我到底该如何完成?

此外,我无法在document_start上加载内容脚本,因为扩展名会抓取HTML并对其进行解析。

最佳答案

我遇到了同样的问题,这就是我所做的。我添加了一个后台脚本来收听所有更改

chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
if (changeInfo.url) {
chrome.tabs.sendMessage(tabId, {
message: 'hello',
url: changeInfo.url
});
}
});

然后在内容脚本中,我听它并重新加载URL
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.message === 'hello') {
const { url } = request;
chrome.location.replace(url);
}

});

关于javascript - URL更改时调用内容脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269832/

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