再本地请求的百度Map正常,部署发现如下错误
原因:
HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block掉的.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。
解决一
百度地图官方给出解决方案(未成功)
或者
在调用百度地图API的URL中加&s=1
<script src="https://api.map.baidu.com/api?v=2.0&ak=my-baidu-ak&s=1" type="text/javascript"></script>
解决二:
页面的head中加入:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
意思是自动将http的不安全请求升级为https
注意
当加上
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
的时候,部署在云服务器放在Apache服务器里面的时候会出错,放在服务器里这个就可以去掉了