引入百度地图js时产生的问题

页面引入百度地图API:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3&ak=XhxWo4lQh2KfH3phyElA17ljQC1wwqjT"></script>

产生如下问题:

api:1 A Parser-blocking, cross-origin script, http://api.map.baidu.com/getscript?v=1.3&ak=XhxWo4lQh2KfH3phyElA17ljQC1wwqjT&services=&t=20150527115231, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.

即为报错:A Parser-blocking, cross-origin script, is invoked via document.write.
在页面渲染完成后就不能使用 document.write 方法。
根据博客的说明尝试如下方法:

<script>
            //异步加载百度地图,解决谷歌等浏览器在页面渲染完成后就不能使用 document.write 方法的问题:
            var cnzz_s_tag = document.createElement('script');
            cnzz_s_tag.type = 'text/javascript';
            cnzz_s_tag.async = true;
            cnzz_s_tag.charset = 'utf-8';
            cnzz_s_tag.src = 'http://api.map.baidu.com/api?v=1.3&ak=XhxWo4lQh2KfH3phyElA17ljQC1wwqjT&async=1';
            var root_s = document.getElementsByTagName('script')[0];
            root_s.parentNode.insertBefore(cnzz_s_tag, root_s);
        </script>

出现问题:

api:1 Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.

后来发现页面引入的百度的js内容为:

(function(){ 
        window.BMap_loadScriptTime = (new Date).getTime(); 
        document.write('<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.3&ak=XhxWo4lQh2KfH3phyElA17ljQC1wwqjT&services=&t=20150527115231"></script>');
        document.write('<link rel="stylesheet" type="text/css" href="http://api.map.baidu.com/res/13/bmap.css" />');
})();

里面包含了 document.write方法,异步加载的js是不允许使用document.write方法的

直接引用这两个地址的jshttp://api.map.baidu.com/getscript?type=quick&file=api&ak=o9B4Ol99j9NcBXSu5nFTR7uI&t=20140109092002http://api.map.baidu.com/getscript?type=quick&file=feature&ak=o9B4Ol99j9NcBXSu5nFTR7uI&t=20140109092002就可以了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • CSS的全称Cascading Style Sheets,层叠样式表,有三种引入方式: 内联样式 内部样式 外部样...
    辉夜乀阅读 130评论 0 0
  • 女生大多都只有减肥的念头,却没有实际行动,要想月瘦十斤并不难,做到这点就行,那就是管好自己的嘴。 减肥失败的女生都...
    骋心骋议阅读 575评论 0 0
  • 我辞职成为一个自由职业者,在众目睽睽之下。于是同事们都在奇怪,我为什么会成为自由职业者,究竟受了多大的刺激?其实我...
    量子永纠缠阅读 1,533评论 19 17
  • 1. 王者荣耀是腾讯游戏在2015年11月26日正式公测一款超级好玩又有趣的手游。玩家之间可以进行1V1、3V3、...
    如果一切都可以阅读 395评论 0 0