如何在Chrome扩展程序中立即获取有效标签

时间:2014-06-02 20:57:10

标签: google-chrome-extension

我正在开发Chrome扩展程序。是否可以立即在当前窗口中获取活动选项卡信息,而不是使用" chrome.tabs.query()"?

1 个答案:

答案 0 :(得分:3)

如果您有一个时间限制,您需要立即(不是异步)活动标签,您可以通过使用chrome.tabs.onActivated监听活动标签更改来维护对活动标签的引用,例如

var activeTab;
function updateActive(tab) {
    activeTab = tab;
}
function onActivated(info) {
    chrome.tabs.get(info.tabId, updateActive);
}
function onUpdated(info, tab) {
    if (tab.active)
        updateActive(tab);
}
chrome.tabs.query({active: true, lastFocusedWindow: true}, function(tabs) {
    updateActive(tabs[0]);
    chrome.tabs.onActivated.addListener(onActivated);
    chrome.tabs.onUpdated.addListener(onUpdated);
});

然后,当您想立即获取标签时,只需使用activeTab

注意:处理多个窗口作为阅读器的练习。见chrome.windows.onFocusChanged