我想异步的谷歌地图api的JavaScript。异步加载JavaScript与document.write
所以,正常的脚本标签工作<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
但是,下面的异步版本没有。
(function() {
var gmap = document.createElement('script'); gmap.type = 'text/javascript'; gmap.async = true;
gmap.src = 'https://maps.googleapis.com/maps/api/js?sensor=false';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gmap, s);
})();
经过一些断点+检查动作后,我发现这条线在异步模式下无法正确运行。
document.write('<' + 'script src="' + src + '"' +
' type="text/javascript"><' + '/script>');
在同步模式中的文档对象是一个“HTMLDocument的”,但在异步模式是一种“#document”代替。加载页面后,文档对象发生了某些情况。思考?
干杯。
更新:这个问题是关于为什么document.write没有被解雇,而不是异步加载谷歌地图API。如果你在这一行设置了一个断点,你可以看到document.write函数存在。这与document.write是否为本地事实有什么关系?
谢谢。我在这一行做了断点,并尝试记录自己。它确实找到了write()函数,这就是奇怪的原因。如果写入函数被分离,那么为什么它不是未定义的? – user1736525
谷歌是一个笑话 – neaumusic