我正在新窗口中打开扩展程序。 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})
})
})
在打开新窗口之前,选项卡ID将是当前活动选项卡ID,意味着在哪里打开Chrome扩展程序(例如:google.com)。我正在尝试在popup.js中访问该选项卡ID,因为我想访问打开Chrome扩展程序的页面(google.com)的DOM。我该如何做?或者有没有其他方法可以在popup.js中获取选项卡ID?在popup.js中尝试了其他方法。
chrome.windows.getAll({populate:true}, function(tabs){
console.log(tabs)
});
在popup.js中,我获取了所有窗口选项卡,但我不知道扩展程序打开的选项卡ID(例如google.com)是什么?
chrome.windows.create({ url: 'popup.html', width: 320, height: 480})
会创建一个新的窗口。如果我使用chrome.tabs.getCurrent
,它会返回当前弹出窗口对象而不是 google.com 对象。 - Samurl: 'popup.html#' + tab.id
然后在你的 popup.js 中提取它。或者你也可以发送一条消息,但那更加复杂。 - wOxxOm