https中请求http资源报错Mixed Content & BMapGL is not defined

    技术2022-07-11  164

    再本地请求的百度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服务器里面的时候会出错,放在服务器里这个就可以去掉了

    Processed: 0.015, SQL: 9