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