如何在Google Chrome扩展程序中加载外部content_script?

时间:2012-09-27 22:52:14

标签: google-chrome google-chrome-extension

我正在尝试从外部服务器加载JS,以便可以更新和开发我的扩展,而无需更新chrome扩展。这是我目前的清单:

{
  "name": "Test",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Test extension",  
  "content_security_policy": "script-src 'self' https://test.dev77.net/; object-src 'self'",
  "content_scripts": [
    {
      "matches": ["http://google.com"],
      "js": ["https://test.dev77.net/test.js"]
    }
  ]
}

尝试安装扩展程序时,我得到以下信息:

无法为内容脚本加载javascript'https://test.dev77.net/test.js'。

1 个答案:

答案 0 :(得分:3)

首先,我建议你不要这样做。最好每次都将您的扩展程序上传到Chrome网上应用店。您可以将扩展程序设为自动扩展,因此用户将始终使用最新版本。

说,你知道扩展不支持外部js。有一个安全原因。例如,Chrome网上应用店扫描上传的扩展程序,搜索恶意软件。如果js发生变化,他们就不会这样做。

但是,有一个解决方法。你的扩展代码可以使用Ajax加载js,然后“eval”它。

另一种方法是在用户页面中插入脚本标记,以加载js文件。然后你执行它(它很棘手,因为孤立的世界事物,但谷歌在Chrome扩展页面中解释了如何做到这一点)。