2010-12-04 8 views
3

나는 기능이 있습니다document.write를 제거 하시겠습니까?

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

을 그리고 한 번라고 :

getScript("http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js"); 
})(); 

은 내가 document.write를 제거 할 필요가 파이어 폭스에서 XHTML에서 지원되지 않는 때문이다. 어떻게해야합니까?

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/[email protected]\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/[email protected]\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/[email protected]\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/[email protected]\u0026src=api\u0026hl=sv-SE\u0026"],null,null,"imgtp=png32\u0026"],[["http://mt0.google.com/[email protected],[email protected]\u0026src=api\u0026hl=sv-SE\u0026","http://mt1.google.com/[email protected],[email protected]\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"); 
})(); 

답변

3

왜 문서에 넣어하지?

<script src="http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js"> 
</script> 

가, 나머지를 수행 한 후 스크립트를로드 그것은 getScript의 언급 할 가치가 (두 번째로 Google지도 스크립트) 신체의 끝 부분에

8

거기 jQuery를 핵심이 이미 존재에 대한 $.getScript() : JQuery와는 :)

전체 코드 괜찮

$.getScript("http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js"); 

그것은 유사한 방식으로 동작하는 <script> 요소를 생성 및 추가 그것 <head>에 ...하지만 아니 document.write().

+0

을 모두 스크립트 태그를 넣어해야하는 경우 기본 동작은 url에 캐시 버스터 매개 변수를 추가하는 것입니다. 따라서 브라우저가 스크립트를 캐시하도록하려면 $ .ajax ({dataType : "script", cache : true, url : "http://maps.gstatic.com/intl/sv_se/mapfiles/api-3 /3/1b/main.js "})); – gregers

1

당신은 말할 수 :

var tag = $('<script src="' + src + '" type="text/javascript"></script>'); 
$("head").append(tag); 
1
document.documentElement.appendChild(document.createElement("script")).src = "http://maps.gstatic.com/intl/sv_se/mapfiles/api-3/3/1b/main.js"; 
관련 문제