我查了很多线程,我学会了如何获取焦点 chrome 选项卡的当前 url。但问题是,当我刷新扩展程序时,它只输出“chrome://extensions/”,而当我单击其他选项卡时,它什么也不做。这是我的代码:
chrome.tabs.query({'active': true, 'lastFocusedWindow': true, 'currentWindow': true}, function (tabs) {
var url = tabs[0].url;
console.log(url);
});
我的权限是这样的
"permissions": [
"tabs",
"activeTab"
]
提前致谢。
我假设您在 background.js 中只执行一次查询函数。尝试侦听 onActivated 事件,以便在用户切换选项卡时获取信息。下面是一个例子:
chrome.tabs.onActivated.addListener((activeInfo) => {
chrome.tabs.query({'active': true, 'lastFocusedWindow': true, 'currentWindow': true}, function (tabs) {
var url = tabs[0].url;
console.log(url);
});
});
编辑:此时您甚至不需要使用查询。由于您可以访问选项卡 ID,因此可以使用 get 方法。
chrome.tabs.onActivated.addListener((activeInfo) => {
chrome.tabs.get(activeInfo.tabId, function (tab) {
console.log(tab.url);
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句