在 Firefox 扩展中的两个后台脚本之间共享变量

Sharing variables between two background scripts in a Firefox Extension

假设我有以下 manifest.json 文件:

{

    "manifest_version": 2,
    "name": "My Test Extension",
    "version": "1.0",

    "icons": {
      "48": "icons/favicon-48x48.png",
    },

    "permissions": [
        "tabs",
        "cookies",
        "<all_urls>"
    ],

    "background": {
        "scripts": ["background/background.js", "background/partners.js"]
    }
}

如果我在 background.js 中这样定义一个变量:var testVariable = 'test';,有什么方法可以让我在 partners.js 中访问同一个变量?

通过清单?没办法。

仅通过创建第 3 个 js 文件并在需要时调用它...

<script src="shared.js"></script>

当然有可能。同一上下文中的所有后台脚本 运行 - 后台页面 。因此,后台脚本中全局定义的任何变量(即在最顶层或通过 window.varname)都可以通过 window.varname 或仅通过 varname.

用于任何其他后台脚本

就像普通网页一样:如果它有多个 JS 脚本,它们都共享每个脚本中的全局定义变量。