chrome.windows.getCurrent 只能获取background.html本身。我真正想要的是用户正在浏览的内容窗口。
对此有任何提示,谢谢!
答案 0 :(得分:1)
当前窗口是包含当前正在执行的代码的窗口。重要的是要意识到这可能与最顶层或聚焦窗口不同。 例如,假设扩展从单个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]));
}
}
}
}
});
答案 1 :(得分:0)
为什么不使用chrome.windows.getLastFocused()?