chrome扩展在浏览器操作弹出窗口中获取活动选项卡ID

时间:2016-10-03 21:17:53

标签: google-chrome-extension

我正在编写一个扩展程序,可以通过背景页面捕获任何类型的重定向,为每个选项卡跟踪它们,并在每个选项卡的浏览器操作中概述它们。 因此,我希望动作弹出式脚本能够使活动选项卡的ID在动作弹出窗口中仅显示与此活动选项卡相关的数据。

我已经宣布了许可" activeTab"在清单中。

我在文档中注意到浏览器操作被提及为未定义chrome.tabs.getCurrent(function(tab){})的上下文的实例之前,我尝试了tabhttps://developer.chrome.com/extensions/tabs#method-getCurrent

我考虑使用内容脚本来获取标签ID,但我找不到合适的方法来连接内容脚本和动作弹出窗口。

如果可能,我如何在浏览器操作弹出窗口中获取活动标签的ID?

2 个答案:

答案 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-----------