相对较新的Chrome扩展程序,我希望这是一种让它产生变化的相当直接的方法。
chrome.tabs.getAllInWindow(null, function(tabs) {
for(var i = 0; i < tabs.length; i++) {
chrome.tabs.update(tabs[i].id, {url: tabs[i].url});
}
});
上面的代码,在扩展程序中打开后,刷新当前窗口的所有选项卡。是否有类似的方法允许我重新加载所有窗口中的所有选项卡,而不仅仅是当前窗口中的选项卡?
答案 0 :(得分:3)
你的问题不太清楚,所以我可能没有正确解释它。我理解这意味着你想要应用&#34;刷新&#34;到所有窗口中的每个现有选项卡。
为此,您只需使用chrome.tabs.query()
即可获取所有现有标签,而不会将其限制在任何特定窗口。我已经假设你只想刷新&#34;普通窗口中的那些选项卡。这将导致不刷新&#34;其他扩展已打开的面板等。如果你想做所有事情,那么只需删除`windowType:&#39; normal&#39;
chrome.tabs.query({windowType:'normal'}, function(tabs) {
for(var i = 0; i < tabs.length; i++) {
chrome.tabs.update(tabs[i].id, {url: tabs[i].url});
}
});
如果出于某种原因,您希望逐个窗口而不是一个查询中的所有内容执行此操作,则可以从chrome.windows.getAll()
获取窗口列表