所以我现在正在开发一个 chrome 扩展,以便了解 Web 开发的世界。我遇到了一个我似乎无法理解的问题。目前,我的 background.js 使用以下方法获取所有打开的窗口以及每个打开的选项卡:
function getAllOpenWindows(winData) {
var tabs = [];
for (var i in winData) {
/*if (winData[i].focused === true) {*/
var winTabs = winData[i].tabs;
var totTabs = winTabs.length;
for (var j=0; j<totTabs;j++) {
tabs.push(winTabs[j].url);
}
/*}*/
}
console.log(tabs);
}
这实际上是由 bpatel在这里发布的。现在您可以看到注释行,它允许我决定是从当前焦点窗口还是从所有窗口中获取选项卡。我的问题是,一旦扩展程序已加载到 chrome 并被积极使用,我该如何动态更改此设置?因此,如果用户进入选项并说他们只想要所有窗口,我将能够向我的 background.js 传递一条消息,说“他们使用所有窗口功能而不是当前聚焦窗口”。我知道理想情况下应该在这里使用 2 个单独的函数,这只是一个如何完成的示例。万分感谢!