2012-09-27 31 views
1

我想从外部服务器加载JS,以便我的扩展可以更新和开发,而无需更新铬扩展。这是我当前清单:如何在Google Chrome扩展中加载外部content_script?

{ 
    "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” 。

+0

相关/可能的重复:[Chrome扩展添加外部JavaScript到当前页面的HTML](http://stackoverflow.com/questions/10285886/chrome-extension-adding-external-javascript-to-current-pages-html/ 10371025#10371025)(问题的措辞不同,但答案完全适用于您的问题)。 –

回答

2

首先,我建议你不要这样做。每次将您的扩展程序上传到Chrome网上应用店最好。你可以做你的扩展autoupdateable,所以用户将拥有最新版本的allways。

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

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

另一种方法是在用户页面中插入脚本标签来加载js文件。然后你执行它(这很棘手,因为孤立的世界事物,但Google解释了如何在Chrome扩展页面中完成此操作)。

+0

这两种方法是否仍然允许您使用通过Chrome扩展获得的跨站点脚本支持? – Joren

相关问题