# mixed content the page at was loaded over https
什么时候会报上面错误:
- HTTPS页面里动态的引入HTTP资源,比如引入一个js文件;
- 在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。
解决方案:
- 如果目标有https资源,就是用https方式能打开连接,可以直接用相对路径例如//baidu.com
- CSP:如果不想改,而且确定连接有https资源,可以用
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
,可以在相应的页面的里加上这句代码,意思是自动将http的不安全请求升级为https。
通过 upgrade-insecure-requests 指令,页面中所有 HTTP 资源,都会首先被替换为 HTTPS 地址再发起请求;页面所有站内链接,点击后会被替换为 HTTPS 地址再跳转。
upgrade-insecure-requests 适用于网站资源已经做了https升级,但是页面链接需要改造的工作量太大,可以使用此指令快速实现目的。但是该指令只替换协议部分,因此只适用于转换后的https资源已经存在的情况。
- 用自己服务器做一层代理。详细梳理ajax跨域4种解决方案
- 点击网址输入栏右边的小金盾,允许加载未知来源的脚本。
参考链接: