Google chrome extension 无法引用站点';扩展名中的s全局js变量';s js

Google chrome extension 无法引用站点';扩展名中的s全局js变量';s js,google-chrome-extension,Google Chrome Extension,在我的chrome清单文件中,我有一个content_脚本声明来调用某个站点上的js文件,例如: "content_scripts": [ { "matches": ["https://example.com/*"], "js": ["jquery-1.11.3.js", "myjs.js"] } 我测试此扩展的匹配站点包含一个javascript文件,该文件声明了一个全局变量var'Foo'。我想在扩展名自己的myjs.js文件中访问此变量。但是,当我尝试引用变量时,控制台中出现

在我的chrome清单文件中,我有一个content_脚本声明来调用某个站点上的js文件,例如:

  "content_scripts": [
{
  "matches": ["https://example.com/*"],
  "js": ["jquery-1.11.3.js", "myjs.js"]
}
我测试此扩展的匹配站点包含一个javascript文件,该文件声明了一个全局变量var'Foo'。我想在扩展名自己的myjs.js文件中访问此变量。但是,当我尝试引用变量时,控制台中出现错误:

Uncaught ReferenceError: Foo is not defined 
我试图在使用变量之前添加2秒的setTimeout,但它仍然会产生相同的错误。如果我打开Chrome的开发者工具(F12)控制台并简单地键入变量名“Foo”,它实际上会返回没有问题的变量


如何让我的chrome扩展名的js文件访问站点的全局js变量?

您不能使用内容脚本访问网页定义的变量。只需遵循内容脚本文档。内容脚本在它们自己的隔离环境中运行,您甚至不能从内容脚本中使用扩展的变量和函数。您与内容脚本中的扩展通信的方式是通过消息传递。请仔细阅读文档。我希望这有帮助。

您不能使用内容脚本访问网页定义的变量。只需遵循内容脚本文档。内容脚本在它们自己的隔离环境中运行,您甚至不能从内容脚本中使用扩展的变量和函数。您与内容脚本中的扩展通信的方式是通过消息传递。请仔细阅读文档。我希望这能有所帮助。

可能的重复