从chrome.pageAction.onClicked.addListener加载popup.html

时间:2011-12-15 15:33:54

标签: javascript google-chrome-extension

我有一个页面操作弹出窗口,从清单文件加载时有效。但是,我想获取单击的选项卡的选项卡信息以启动弹出窗口。我可以从chrome.pageAction.onClicked.addListener获取选项卡信息,但我不知道如何从pageAction.onClicked内部启动popup.html。

2 个答案:

答案 0 :(得分:2)

cannot同时拥有pageAction.onClicked

  

onClicked

     

如果页面操作有弹出窗口,则不会触发此事件。

但是,您可以执行的操作是在加载弹出窗口时使用Tabs module获取当前选项卡信息:

chrome.tabs.getCurrent(function(tab) {
    // tab contains information about the current tab
});

答案 1 :(得分:1)

我找到了一个解决方法,我想做什么。在背景页面上:

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;  
...  
}

虽然调试代码时要小心。调试器会导致选项卡更改事件,从而将选项卡更改为启动弹出窗口的选项卡。