首页 > 解决方案 > 在 Firefox 扩展中的两个后台脚本之间共享变量

问题描述

让我们建议我有以下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.jsvar testVariable = 'test';,有什么办法可以访问这个相同的变量partners.js吗?

标签: javascriptscopefirefox-addon

解决方案


当然有可能。所有后台脚本都在同一个上下文背景页面中运行。因此,在后台脚本中全局定义的任何变量(即在最高级别或 via window.varname)都可用于任何其他后台脚本 viawindow.varname或 just varname

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


推荐阅读