Google chrome extension Chrome扩展名background.html如何访问当前窗口(用户的内容窗口)

Google chrome extension Chrome扩展名background.html如何访问当前窗口(用户的内容窗口),google-chrome-extension,Google Chrome Extension,chrome.windows.getCurrent只获取background.html本身。我真正想要的是用户正在浏览的内容窗口 有什么建议吗,谢谢 当前窗口是包含当前正在执行的代码的窗口。重要的是要认识到,这可能不同于最顶部或聚焦窗口。 例如,假设扩展从单个HTML文件创建几个选项卡或窗口,并且HTML文件包含对chrome.tabs.getSelected的调用。当前窗口是包含发出调用的页面的窗口,无论最上面的窗口是什么 如果要获取用户正在浏览的内容窗口,可以使用以下代码: popup.js

chrome.windows.getCurrent只获取background.html本身。我真正想要的是用户正在浏览的内容窗口


有什么建议吗,谢谢

当前窗口是包含当前正在执行的代码的窗口。重要的是要认识到,这可能不同于最顶部或聚焦窗口。 例如,假设扩展从单个HTML文件创建几个选项卡或窗口,并且HTML文件包含对chrome.tabs.getSelected的调用。当前窗口是包含发出调用的页面的窗口,无论最上面的窗口是什么

如果要获取用户正在浏览的内容窗口,可以使用以下代码:

popup.js

chrome.windows.getAll({“填充”:true},函数(windows){

对于(i=0;i为什么不使用chrome.windows.getLastFocused()?

谢谢,但是如何获取本机窗口对象?我想调用“getSelection()”@AwQiruiGuo:如果您正在查看选项卡包含的内容,您可以通过脚本注入获得它。谢谢,实际上我希望在my background.html中获得窗口对象,而无需添加内容脚本(由于某些安全限制)在background.html中使用窗口对象在chrome扩展中是不可行的,您必须选择内容scripts@Sudarshan
chrome.tabs.query({active:true,highlighted:true,lastFocusedWindow:true},函数(tab){console.debug(tab);})
与您的代码相同,减去不存在的所选内容;)顺便问一下,您喜欢您的答案吗。
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]));
                }
            }
        }   
    }
});