【发布时间】:2015-10-23 04:05:22
【问题描述】:
我应该编写一个 chrome 扩展程序,以便在单击扩展程序图标时同时刷新两个特殊选项卡。但我只是找到了代码:
chrome.browserAction.onClicked.addListener(function(tab))
function(tab) 不能推送两个标签,只能推送一个。我该怎么做?
【问题讨论】:
标签: google-chrome google-chrome-extension tabs
我应该编写一个 chrome 扩展程序,以便在单击扩展程序图标时同时刷新两个特殊选项卡。但我只是找到了代码:
chrome.browserAction.onClicked.addListener(function(tab))
function(tab) 不能推送两个标签,只能推送一个。我该怎么做?
【问题讨论】:
标签: google-chrome google-chrome-extension tabs
要刷新tab,您只需要tab id。因此,您可以在任意数量的标签上使用chrome.tabs.reload()。
示例:
chrome.browserAction.onClicked.addListener(function(){
chrome.tabs.query({currentWindow: true},function(tabs){// This will return all tabs in current window
//If you want to reload first 2 tabs
chrome.tabs.reload(tabs[0].id);
chrome.tabs.reload(tabs[1].id);
})
})
假设你想重新加载当前的active tab 和留给它的tab。然后通过active:true 和currentWindow:true 获得活动标签。然后使用 index 属性重新加载左或右标签。
示例:
chrome.browserAction.onClicked.addListener(function(){
chrome.tabs.query({active:true,currentWindow: true},function(tabs){
var currentIndex = tabs[0].index;
var leftIndex = tabs[0].index - 1;
chrome.tabs.query({currentWindow: true},function(tabs){// This will return all tabs in current window
chrome.tabs.reload(tabs[currentIndex].id);
chrome.tabs.reload(tabs[leftIndex].id);
});
})
})
【讨论】: