Как получить идентификатор вкладки, где открыто расширение Chrome - PullRequest
0 голосов
/ 09 января 2019

Я открываю расширение в новом окне. Background.js

chrome.browserAction.onClicked.addListener(function(msg, sender, response){
 chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
    chrome.tabs.sendMessage(tabs[0].id, {tabId: tabs[0].id}, function(response) {});
    // creating new window.
    chrome.windows.create({ url: 'popup.html', width: 320, height: 480})
 })
})

Перед открытием нового окна идентификатор вкладки будет идентификатором активной вкладки, то есть там, где я открыл расширение Chrome (например, google.com). Я пытаюсь получить доступ к этому идентификатору вкладки в popup.js . Потому что я хочу получить доступ к DOM страницы (google.com), где открыто расширение Chrome. Как я могу это сделать? или есть какой-то другой способ получить идентификатор вкладки в popup.js ?

Попробовал другой способ в popup.js

chrome.windows.getAll({populate:true}, function(tabs){
  console.log(tabs)
});

Здесь я получаю все вкладки окна в popup.js, но здесь я не знаю идентификатор этой вкладки, где открыто расширение (google.com)?

1 Ответ

0 голосов
/ 10 января 2019

Это на самом деле очень просто

chrome.tabs.query({active: true}, function(tabs){})

Это дает все активные вкладки окна и доступ к другим окнам DOM (google.com)

chrome.tabs.query({active: true}, function(tabs){
  chrome.tabs.executeScript(tabs[0].id,{   //tabs[0].id will give the tab id where extension is opened.
    code: 'document'  // any javascript statement
  })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...