Nextrp [CPP] RU + Many GEOs Игра на карте России | NEXTRP

Расширение Chrome: перебирать все вкладки?

javascript google-chrome-extension browser-tab

19532 просмотра

4 ответа

15702 Репутация автора

Как бы я перебрал все вкладки, открытые пользователем, и затем проверил, есть ли у них определенный элемент HTML id = 'item'?

Автор: Skizit Источник Размещён: 23.03.2011 05:27

Ответы (4)


19 плюса

3950 Репутация автора

Решение

Вы можете сделать это так:

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 с помощью «фоновой страницы», поэтому первый фрагмент кода предназначен для фоновой страницы, а второй - для сценария содержимого;)

Автор: Sindar Размещён: 23.03.2011 05:30

57 плюса

633 Репутация автора

Похоже, этот метод устарел в пользу chrome.tabs.query:

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

Итак, теперь вы хотите сделать:

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

Передача пустого queryInfoпараметра вернет все вкладки.

Автор: Golden Flying Broom Размещён: 07.03.2013 09:20

-1 плюса

170 Репутация автора

Я пользуюсь этим

chrome.tabs.getAllInWindow(null, function(tabs) {
      $.each(tabs, function() {
        // u can use 'this.id' to work with evey tab 
      });
});
Автор: Aleksandr Golovatyi Размещён: 15.06.2017 08:31

0 плюса

3341 Репутация автора

Это не осуждаемый ванильный способ (май 2019):

chrome.tabs.query({}, function(tabs){
        tabs.forEach(tb => {
            chrome.tabs.sendMessage(tb.id, { action: "xxx" });
        });
    });
Автор: Emeeus Размещён: 31.05.2019 04:32
Вопросы из категории :
32x32