我有两个按照相同域运行的脚本:
"content_scripts": [
{
"matches": ["https://myurl.com/*"],
"js": ["do_stuff.js"]
},
{
"matches": ["https://myurl.com/*"],
"js": ["do_other_stuff.js"]
}
],
在这两个文件中,我首先创建一个同名的var:
let myvar = "foo";
但是,其中一个脚本会抛出一个错误,声称已经定义了var。 (当脚本之间的函数名相同时,我也会得到奇特的结果。)
我从Google文档中了解到,每个content_script都是相互明确的沙盒,因此无法访问其他每个变量。
https://developer.chrome.com/extensions/content_scripts
该页面显示内容脚本不能“使用由网页或其他内容脚本定义的变量或函数”。
我做错了什么和/或误解了什么?
答案 0 :(得分:0)
作为参考,上面https://stackoverflow.com/users/3959875/woxxom的评论确定并解决了问题 - 基本上,文档(至少在当时)有点含糊不清,执行环境实际上是由框架和hosturl沙箱化,而不是内容脚本定义。