首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >摆脱document.write?

摆脱document.write?
EN

Stack Overflow用户
提问于 2010-12-05 06:11:44
回答 4查看 987关注 0票数 3

我有一个函数:

代码语言:javascript
复制
  function getScript(src) {
    document.write('<' + 'script src="' + src + '"' +
                   ' type="text/javascript"><' + '/script>');
  }

它只需要调用一次:

代码语言:javascript
复制
  getScript("http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js");
})();

我需要去掉document.write,因为firefox中的xhtml不支持它。我该怎么做呢?Jquery很好:)

完整代码:

代码语言:javascript
复制
window.google = window.google || {};
google.maps = google.maps || {};
(function() {

  function getScript(src) {
    document.write('<' + 'script src="' + src + '"' +
                   ' type="text/javascript"><' + '/script>');
  }

  var modules = google.maps.modules = {};
  google.maps.__gjsload__ = function(name, text) {
    modules[name] = text;
  };

  google.maps.Load = function(apiLoad) {
    delete google.maps.Load;
    apiLoad([null,[[["http://mt0.google.com/vt?lyrs=m@139\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/vt?lyrs=m@139\u0026src=api\u0026hl=sv-SE\u0026"]],[["http://khm0.google.com/kh?v=74\u0026hl=sv-SE\u0026","http://khm1.google.com/kh?v=74\u0026hl=sv-SE\u0026"],null,null,null,1],[["http://mt0.google.com/vt?lyrs=h@139\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/vt?lyrs=h@139\u0026src=api\u0026hl=sv-SE\u0026"],null,null,"imgtp=png32\u0026"],[["http://mt0.google.com/vt?lyrs=t@126,r@139\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/vt?lyrs=t@126,r@139\u0026src=api\u0026hl=sv-SE\u0026"]],null,[[null,0,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026"]],[null,0,8,9,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1293600000]],[[354690000,1293600000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026"]],[null,0,10,19,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.12\u0026hl=sv-SE\u0026"]],[null,3,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026"]],[null,3,8,9,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1293600000]],[[354690000,1293600000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026"]],[null,3,10,null,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=sv-SE\u0026"]]],[["http://cbk0.google.com/cbk?","http://cbk1.google.com/cbk?"]],[["http://khmdb0.google.com/kh?v=33\u0026hl=sv-SE\u0026","http://khmdb1.google.com/kh?v=33\u0026hl=sv-SE\u0026"]],[["http://mt0.google.com/mapslt?hl=sv-SE\u0026","http://mt1.google.com/mapslt?hl=sv-SE\u0026"]],[["http://mt0.google.com/mapslt/ft?hl=sv-SE\u0026","http://mt1.google.com/mapslt/ft?hl=sv-SE\u0026"]]],["sv-SE","US",null,0,null,"http://maps.google.com","http://maps.gstatic.com/intl/sv_se/mapfiles/","http://gg.google.com","https://maps.googleapis.com","http://maps.googleapis.com"],["http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b","3.3.1b"],[4241463462],1,null,null,null,null,0,""], loadScriptTime);
  };
  var loadScriptTime = (new Date).getTime();
  getScript("http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js");
})();
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-05 06:15:40

你为什么不把它写进文件里呢?

代码语言:javascript
复制
<script src="http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js">
</script>

如果它要求您在完成其余操作后加载脚本,请将这两个脚本标记放在正文的末尾( googlemaps脚本作为第二个脚本)

票数 3
EN

Stack Overflow用户

发布于 2010-12-05 06:13:34

在jQuery核心中已经有了一个这样的$.getScript()

代码语言:javascript
复制
$.getScript("http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js");

它的行为类似,创建一个<script>元素并将其附加到<head>...but中,而不是使用document.write()

票数 8
EN

Stack Overflow用户

发布于 2010-12-05 06:14:46

你可以说:

代码语言:javascript
复制
var tag = $('<script src="' + src + '" type="text/javascript"></script>');
$("head").append(tag);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4356108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档