Chrome扩展程序:遍历所有标签?

时间:2011-03-23 17:27:15

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

如何迭代用户打开的所有标签,然后检查他们是否有id = 'item'的特定HTML项?

4 个答案:

答案 0 :(得分:56)

看来此方法已被弃用,而不是chrome.tabs.query

http://developer.chrome.com/extensions/tabs.html#method-query

所以现在你想做:

chrome.tabs.query({}, function(tabs) { /* blah */ } );

传递空queryInfo参数将返回所有选项卡。

答案 1 :(得分:20)

你可以这样:

chrome.tabs.getAllInWindow(null, function(tabs){
    for (var i = 0; i < tabs.length; i++) {
    chrome.tabs.sendRequest(tabs[i].id, { action: "xxx" });                         
    }
});

之后要照顾你的物品,如果你可以这样做:

document.getElementById('item')

不要忘记你不能通过使用“后台页面”来操纵HTML所以第一个代码片段用于后台页面,第二个代码片段必须在内容脚本上;)

答案 2 :(得分:0)

我用这个

chrome.tabs.getAllInWindow(null, function(tabs) {
      $.each(tabs, function() {
        // u can use 'this.id' to work with evey tab 
      });
});

答案 3 :(得分:0)

这是一种不被淘汰的香草方式(2019年5月):

chrome.tabs.query({}, function(tabs){
        tabs.forEach(tb => {
            chrome.tabs.sendMessage(tb.id, { action: "xxx" });
        });
    });
相关问题