jquery – 无法在pageload之后添加Google Map API脚本

前端之家收集整理的这篇文章主要介绍了jquery – 无法在pageload之后添加Google Map API脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于某些限制,我无法在页面加载时使用Google Map API的脚本标记.我尝试过多种方式将脚本添加页面中,包括使用jQuery添加脚本标记,如下所示:
  1. $('head').append('<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>');

我也试图以更手动的方式包含它,如下所示:

  1. var script = document.createElement("script");
  2. script.src = 'http://maps.google.com/maps/api/js?sensor=false';
  3. script.type = "text/javascript";
  4. document.head.appendChild(script);

这两个示例都会导致整个页面变为白色和空白.有关如何做到这一点的任何想法?

解决方法

这对我有用(遵循JAM的评论) – 只需在页面加载后运行功能
  1. function writeGoogleMapsScript()
  2. {
  3. document.oldWrite = document.write;
  4. document.write = function(text)
  5. {
  6. var parser = new DOMParser();
  7. var element = parser.parseFromString(text,"text/xml");
  8. var child = element.firstChild;
  9. var element = document.createElement("script");
  10. element.src = child.getAttribute('src');
  11. element.type= "text/javascript";
  12. document.getElementsByTagName("head")[0].appendChild(element);
  13. document.write = document.oldWrite;
  14. };
  15. var element = document.createElement("script");
  16. element.src = "http://maps.google.com/maps/api/js?sensor=true&language=iw";
  17. element.type= "text/javascript";
  18. document.getElementsByTagName("head")[0].appendChild(element);
  19. }

猜你在找的jQuery相关文章