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

JavaScript021

引入百度地图js时产生的问题,第1张

页面引入百度地图API:

产生如下问题:

即为报错:A Parser-blocking, cross-origin script, is invoked via document.write.

在页面渲染完成后就不能使用 document.write 方法。

根据 博客 的说明尝试如下方法:

出现问题:

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

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

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

问题原理:百度地图的缩放是基于body层的,如果body层有滚动条,并且不在最顶端,在当前位置插入了百度地图,也就是出现该问题时的状态,这个时候滚轮缩放就会产生偏移。

解决办法:当地图加载的时候执行

$(window).scrollTop(0)

也就是将父元素滚动到页面最顶端