刷新所有窗口中的所有选项卡

时间:2017-02-05 04:19:12

标签: javascript google-chrome google-chrome-extension

相对较新的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});
    }
}); 

上面的代码,在扩展程序中打开后,刷新当前窗口的所有选项卡。是否有类似的方法允许我重新加载所有窗口中的所有选项卡,而不仅仅是当前窗口中的选项卡?

1 个答案:

答案 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()获取窗口列表