我们网站的用户运行我们的Chrome插件,该插件通过XMLHttpRequest执行跨源请求,如Chrome扩展开发页面所述。这几年来一直运行良好。然而,自从我们的用户升级到最新版本的Chrome(v38)后,这些请求就失败了。我们的网站运行在HTTPS上,通过我们的内容脚本加载的一些URL是在HTTP上。消息是:
[已阻止]位于'的页面https://www.ourpage.com/'已加载HTTPS,但从"运行了不安全的内容http://www.externalpage.com':这些内容也应该通过HTTPS加载。
发生错误的报告行在我发出HTTP调用的内容脚本中:
xhr.send(null);
我无法控制外部页面,我宁愿不从我们自己的页面中删除SSL。问题:这是一个错误还是有我不知道的变通方法?
(注意:清单中的权限总是设置为<all_urls>
,这已经工作了很长时间。将其设置为http://*/
和https://*/
没有帮助。)
如果可能,请使用该外部页面的https版本。
如果这不可能,请使用后台页面来处理AJAX请求(示例)。