我有一个Chrome扩展,以特殊的方式监视浏览器,发送一些数据到Web服务器。在当前配置中,这是本地主机。因此,内容脚本包含这样的代码:铬扩展中的访问控制 - 允许 - 来源错误
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data)...
xhr.open('GET', url, true);
xhr.send();
其中URL参数是 'http://本地主机/ CTRL PARAMS?'(或http://127.0.0.1/ctrl?params - 这并不重要)。
清单文件包含跨站点请求的所有必需权限。
扩展适用于大多数网站很好,但在一个网站上我的错误:
XMLHttpRequest cannot load http://localhost/ctrl?params. Origin http://www.thissite.com is not allowed by Access-Control-Allow-Origin.
我已经试过这是这里提出几个权限(*://*/*
,http://*/*
和<all_urls>
),但没有人帮助解决问题。
所以,问题是这个特定网站可能会出现什么问题(显然有可能是其他网站有类似的不当行为,我想知道这种性质),以及如何解决这个错误?
你能更具体地说明哪个网站你看到这个错误吗?它可能使用内容安全策略(https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html)来防止数据被加载。 – 2012-02-05 01:23:45
这里是网站 - www.wix.com。 – Stan 2012-02-05 08:47:01
Mihai,你是说网站的“内容安全策略”优先于扩展权限?那么我们怎么能写一个可靠的扩展呢?有没有解决方法? – Stan 2012-02-05 08:50:05