Javascript 如何将窗口对象从活动选项卡发送到扩展?

Javascript 如何将窗口对象从活动选项卡发送到扩展?,javascript,html,google-chrome,google-chrome-extension,storage,Javascript,Html,Google Chrome,Google Chrome Extension,Storage,我需要从某些选项卡获取用户存储数据(本地和会话),如在应用程序中(下面的屏幕) 据我所知,我需要从活动选项卡获取窗口对象。我有一个对象,但我可以从当前选项卡在控制台中使用它 我需要在扩展的控制台中使用它(如何使用?)。我的目标是在表中显示这些数据(这里没有问题) manifest.json { "manifest_version": 2, "name": "Test extension", "description": "...", "version": "1.0", "browser

我需要从某些选项卡获取用户存储数据(本地和会话),如在应用程序中(下面的屏幕)

据我所知,我需要从活动选项卡获取窗口对象。我有一个对象,但我可以从当前选项卡在控制台中使用它

我需要在扩展的控制台中使用它(如何使用?)。我的目标是在表中显示这些数据(这里没有问题)


manifest.json

{
"manifest_version": 2,

"name": "Test extension",
"description": "...",
"version": "1.0",

"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "Click here!"
},

"permissions": [
    "storage",
    "tabs",
    "activeTab",
    "http://*/*",
    "https://*/*",
    "unlimitedStorage"
]
}

popup.js

document.body.onload = function() {
    var obj = chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
        var tabId = tabs[0].id;
        chrome.tabs.executeScript(tabId, {code:'var w = window; console.log(w);'});

    });
});

如何将窗口对象从选项卡控制台发送到扩展控制台?

有一个回调参数,它的值是脚本的结果(array),因此您可以使用以下代码获取当前网页的
window
对象:

chrome.tabs.executeScript(tabId, {code:'window;'}, function(results) {
    console.log(results[0]);
});

您可以使用NodeJS来实现这一目标。看这段视频。
到存储库。

使用此选项返回空值。窗口==null@ArtemSolovev,基本上是
window
window.window
指向同一个对象,我不确定
window.window
在这里是
null
,但是你可以使用
results[0]
作为
window
,不需要调用
results[0].window
没有本地存储属性或会话存储。我需要它们