我有一个页面操作弹出窗口,从清单文件加载时有效。但是,我想获取单击的选项卡的选项卡信息以启动弹出窗口。我可以从chrome.pageAction.onClicked.addListener获取选项卡信息,但我不知道如何从pageAction.onClicked内部启动popup.html。
答案 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;
...
}
虽然调试代码时要小心。调试器会导致选项卡更改事件,从而将选项卡更改为启动弹出窗口的选项卡。