由于某些限制,我无法在页面加载时使用Google Map API的脚本标记.我尝试过多种方式将脚本添加到页面中,包括使用jQuery添加脚本标记,如下所示:
- $('head').append('<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>');
我也试图以更手动的方式包含它,如下所示:
- var script = document.createElement("script");
- script.src = 'http://maps.google.com/maps/api/js?sensor=false';
- script.type = "text/javascript";
- document.head.appendChild(script);
这两个示例都会导致整个页面变为白色和空白.有关如何做到这一点的任何想法?
解决方法
这对我有用(遵循JAM的评论) – 只需在页面加载后运行功能
- function writeGoogleMapsScript()
- {
- document.oldWrite = document.write;
- document.write = function(text)
- {
- var parser = new DOMParser();
- var element = parser.parseFromString(text,"text/xml");
- var child = element.firstChild;
- var element = document.createElement("script");
- element.src = child.getAttribute('src');
- element.type= "text/javascript";
- document.getElementsByTagName("head")[0].appendChild(element);
- document.write = document.oldWrite;
- };
- var element = document.createElement("script");
- element.src = "http://maps.google.com/maps/api/js?sensor=true&language=iw";
- element.type= "text/javascript";
- document.getElementsByTagName("head")[0].appendChild(element);
- }