chrome.windows.getCurrent只会让我得到 background.html 本身。我真正想要的是用户正在浏览的内容窗口。
任何提示,谢谢!
chrome.windows.getCurrent只会让我得到 background.html 本身。我真正想要的是用户正在浏览的内容窗口。
任何提示,谢谢!
当前窗口是包含当前正在执行的代码的窗口。重要的是要意识到这可能与最顶层或焦点窗口不同。例如,假设一个扩展从单个 HTML 文件创建了几个选项卡或窗口,并且该 HTML 文件包含对 chrome.tabs.getSelected 的调用。当前窗口是包含发出调用的页面的窗口,无论最上面的窗口是什么。
如果要获取用户正在浏览的内容窗口,可以使用以下代码:
popup.js
chrome.windows.getAll({"populate":true},function (windows){
for(i=0;i<windows.length ;i++){
if(windows[i].focused){
for(j=0;j<windows[i].tabs.length;j++){
if(windows[i].tabs[j].selected && windows[i].tabs[j].active && windows[i].tabs[j].highlighted ){
console.log(JSON.stringify(windows[i].tabs[j]));
}
}
}
}
});
为什么不使用 chrome.windows.getLastFocused()?