首页 >> 大全

在 HTTPS 项目中使用百度地图 API

2023-12-22 大全 24 作者:考证青年

<scripttype="text/javascript"src="https://api.map.baidu.com/api?v=2.0&ak=您的密钥"
>script>
<scripttype="text/javascript"src="https://api.map.baidu.com/api?v=3.0&ak=您的密钥"
>script>

以上是官方文档介绍的用法,在用搜索引擎查找问题解决方案时,看到前辈们的技术博客都说使用 不能达到预期效果,必须添加参数 &s=1 才可以。

不知道是不是官方进行过优化,下面两张图是今日实测的结果:

在 HTTPS 项目中使用百度地图 API__在 HTTPS 项目中使用百度地图 API

可以看到添加 &s=1 后所得到的结果与没添加时是__一致的__。

问题2. 浏览警告

在部分浏览器(如谷歌)中会产生警告如下:

_在 HTTPS 项目中使用百度地图 API_在 HTTPS 项目中使用百度地图 API

  A parser-blocking, cross site (i.e. different eTLD+1) script, https://api.map.baidu.com/getscript?v=3.0&ak='您的密钥'&services=&t=20190301102433,is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.

这段警告的大概意思是说一个阻塞性的解析器,跨站点的脚本,通过.write调用。此脚本的网络请求可能由于网络连接不良而被浏览器在此页面加载或将来的页面加载中阻止。如果在此页面加载中被阻止,将在随后的控制台消息中确认。更多详情参见

那么我们来分析一下百度地图API导入得到的的代码

  (function() {window.BMAP_PROTOCOL = "https"; // https导入会有此行代码window.BMap_loadScriptTime = new Date().getTime();document.write(``);})();

可以得知正是这段代码中的 .write 引发的警告。那么我们在HTML文件中直接使用 导入百度地图的API就可以避免此警告。不过这样导入时,缺失的另外两行 . = "https" 与 . = (new Date).() 一定要记得添加到项目中,避免产生其他问题。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了