Загрузите popup.html из chrome.pageAction.onClicked.addListener - PullRequest
1 голос
/ 15 декабря 2011

У меня есть всплывающее окно действия страницы, которое работает при загрузке из файла манифеста. Однако я хочу получить информацию о вкладке, которая была нажата для запуска всплывающего окна. Я могу получить информацию о вкладке из chrome.pageAction.onClicked.addListener, но я не знаю, как запустить popup.html изнутри pageAction.onClicked.

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

Вы не можете иметь оба pageAction.onClicked:

onClicked

Это событие не сработает, если у действия страницы есть всплывающее окно.

Однако вы можете извлечь информацию о текущей вкладке с помощью модуля Tabs при загрузке всплывающего окна:

chrome.tabs.getCurrent(function(tab) {
    // tab contains information about the current tab
});
1 голос
/ 16 декабря 2011

Я нашел обходной путь для того, что я хотел сделать. На фоновой странице:

chrome.tabs.onActiveChanged.addListener(OnActiveChanged);  
function OnActiveChanged( tabId, selectInfo )  
{  
  chrome.tabs.get( tabId, function( tab ){  
    window.activeTab = tab;  
  } );  
}  

Это захватывает вкладку каждый раз, когда вкладка изменяется. Затем в функции моего всплывающего окна появляется вкладка с фоновой страницы:

function OnLogin( )  
{
  backgroundWindow = chrome.extension.getBackgroundPage();  
  var activeTab = backgroundWindow.activeTab;  
...  
}

Будьте осторожны при отладке кода. Отладчик вызывает событие изменения вкладки, которое меняет вкладку в сторону от вкладки, которая открыла всплывающее окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...