我有一个Firefox插件,用http://target.com的数据修改http://data.com的页面。它通过在插件javascript中创建XMLHttpRequest()并相应地修改网页来实现此目的。目标和源服务器都不受我的控制。
这一切都运行正常,直到target.com网站改为使用https。当我从http:地址加载数据时,我收到以下错误:
阻止加载混合活动内容
幸运的是data.com也支持https,所以我将数据查找地址更改为https://data.com,然后我得到了
阻止跨源请求:同源策略禁止在https://data.com
读取远程资源
我读了here我可以将以下内容添加到我的package.json
"permissions": {
"cross-domain-content": ["https://data.com"]
}
现在我没有收到任何错误,但是Developer Tools Network页面没有显示任何连接。
我走到了死胡同吗?我知道CORS需要服务器支持,但我认为,因为它在目标服务器转移到https之前工作,它现在仍然可以工作。
干杯
富
答案 0 :(得分:1)
这是使用库(而不是Firefox API)的问题之一
尝试使用原生Firefox API,例如:Connecting to Remote Content
Native Firefox API在浏览器范围内运行,因此无需考虑CORS。