chrome.tabs.query事件未触发



我最近一直在尝试使用chrome扩展,现在我只是想熟悉chrome api。

具体来说,我正在测试chrome.tabs.query,以使用当前活动选项卡的URL创建警报,但该事件不会触发。这是我的background.js文件的代码。

chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
var activeTab = tabs[0];
var activeTabUrl = activeTab.url;
alert(activeTabUrl);
});

这是我的manifest.json。我确信所有的权限都是正确的。

{
"manifest_version": 2,
"name": "Time Tracker",
"description": "Track how much time spent on ...",
"version": "1.0",
"permissions": ["history", "bookmarks", "activeTab", "tabs"],
"background":{
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["http://*.www.youtube.com/*"],
"js": ["content.js"]
}
],
"browser_action": {
"default_popup": "popup.html",
"default_icon": "/images/clock.png"
}
}

我还尝试了其他chrome api,如chrome.history.onVisited,试图添加一个eventListener,但似乎什么都不起作用。

我在这里添加了一个完整回购的链接。https://github.com/ismail-ahmed0149/Time-Tracker

更新#1 6月2日。2021(对最新评论的回应(

这是我最近的代码我的背景脚本。

function handleUpdated(tabId, changeInfo, tabInfo) {
console.log("Updated tab: " + tabId);
console.log("Changed attributes: ");
console.log(changeInfo);
console.log("New tab Info: ");
console.log(tabInfo);
}
chrome.tabs.onUpdated.addListener(handleUpdated);

chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
var activeTab = tabs[0];
var activeTabUrl = activeTab.url;
alert(activeTabUrl);
});

您可以在此处找到chrome.tabs事件的文档:链接

(向下滚动到最后(

您必须添加一个";onUpdated";事件。

最新更新