我正在编写一个扩展程序,可以通过背景页面捕获任何类型的重定向,为每个选项卡跟踪它们,并在每个选项卡的浏览器操作中概述它们。 因此,我希望动作弹出式脚本能够使活动选项卡的ID在动作弹出窗口中仅显示与此活动选项卡相关的数据。
我已经宣布了许可" activeTab"在清单中。
我在文档中注意到浏览器操作被提及为未定义chrome.tabs.getCurrent(function(tab){})
的上下文的实例之前,我尝试了tab
。 https://developer.chrome.com/extensions/tabs#method-getCurrent
我考虑使用内容脚本来获取标签ID,但我找不到合适的方法来连接内容脚本和动作弹出窗口。
如果可能,我如何在浏览器操作弹出窗口中获取活动标签的ID?
答案 0 :(得分:7)
您需要tabs.query
:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var currTab = tabs[0];
if (currTab) { // Sanity check
/* do stuff */
}
});
"罕见病例" 主要限于一个独立的DevTools窗口,它是当前窗口(看起来这种情况是固定的);在正常操作期间不应该发生。
答案 1 :(得分:0)
动态获取活动标签ID
function onUpdatedListener(tabId, changeInfo, tab) {
chrome.tabs.get(tabId.tabId, function(tab){
console.log('New active tab: ' + tab.id);
});
}
// Subscribe to tab events
chrome.tabs.onActivated.addListener(onUpdatedListener);
// End tabs listeners-----------