从后台Chrome扩展程序访问窗口对象

时间:2014-03-21 23:42:29

标签: javascript google-chrome google-chrome-extension

我想从后台脚本访问window对象的属性。我在manifest.json

中有这个
{
    "..": "..",
    "permissions": ["http://*.mysite.net/"],
    "background": {
        "scripts": ["extension.js"]
    }
}

,这在extension.js

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
    if (changeInfo.status === 'complete') {

        var tabWindowObject = ??

        setInterval(tabWindowObject.someFunction, 10);
    }
});

我需要它,而不是在其他地方(没有内容脚本和脚本注入)。如何获取tabWindowObject中的extension.js?换句话说,我想访问后台脚本Chrome扩展程序中的标签的上下文。

1 个答案:

答案 0 :(得分:7)

你做不到。扩展程序的后台页面在一个process中运行,而更新的选项卡在单独的进程中运行。不同的进程无法共享对象,因此您无法从扩展的后台页面直接访问选项卡的window对象。您必须使用content script来获取扩展代码才能在选项卡的进程中运行。