我们网站的用户运行我们的 Chrome 插件,该插件除其他外,还通过 XMLHttpRequest 执行跨源请求,如 Chrome extension development pages 中所述。 。这几年来一直运行良好。然而,自从我们的用户升级到最新版本的 Chrome (v38) 以来,这些请求都失败了。我们的网站在 HTTPS 上运行,通过我们的内容脚本加载的一些 URL 在 HTTP 上。消息是:
[blocked] The page at 'https://www.ourpage.com/' was loaded over HTTPS, but ran insecure content from 'http://www.externalpage.com': this content should also be loaded over HTTPS.
报告的发生错误的行位于我发出 HTTP 调用的内容脚本中:
xhr.send(null);
我无法控制外部页面,并且我不想从我们自己的页面中删除 SSL。问题:这是一个错误还是有我不知道的解决方法?
(注意: list 中的权限始终设置为 <all_urls>
,这已经工作了很长时间。将其设置为 http://*/
和 https://*/
没有帮助。)
最佳答案
如果可能,请使用该外部页面的 https 版本。
如果不可能,请使用后台页面处理 AJAX 请求 ( example )。
关于google-chrome - 自 v38 起,Chrome 扩展程序无法再从 HTTP URL 加载,有解决方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31394078/