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,文件的顺序很重要,至少对于立即执行的代码来说是如此。如果它解决了您的问题,您也可以对我的答案进行投票