Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Firefox扩展中的两个后台脚本之间共享变量_Javascript_Scope_Firefox Addon - Fatal编程技术网

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

Javascript 在Firefox扩展中的两个后台脚本之间共享变量,javascript,scope,firefox-addon,Javascript,Scope,Firefox Addon,我们建议使用以下manifest.json文件: { "manifest_version": 2, "name": "My Test Extension", "version": "1.0", "icons": { "48": "icons/favicon-48x48.png", }, "permissions": [ "tabs", "cookies", "<all_urls

我们建议使用以下
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"]
    }
}
{
“清单版本”:2,
“名称”:“我的测试扩展”,
“版本”:“1.0”,
“图标”:{
“48”:“icons/favicon-48x48.png”,
},
“权限”:[
“标签”,
“饼干”,
""
],
“背景”:{
“脚本”:[“background/background.js”,“background/partners.js”]
}
}

如果我在
background.js
中像这样定义一个变量:
var testVariable='test',是否有任何方法可以通过清单访问
partners.js中的相同变量?不可能

只有创建第三个js文件并在需要时调用它,就像这样

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

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


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

好的,我发现了我的错误。。。当然,我将这些文件添加到数组中的顺序并不是无关紧要的:PSure,文件的顺序很重要,至少对于立即执行的代码来说是如此。如果它解决了您的问题,您也可以对我的答案进行投票