$.getScript 이용하여 동적으로 api js 를 로드 하고 싶습니다

  • js 로드를

했을때는 에러 없던 페이지가

$.getScript(‘http://dapi.kakao.com/v2/maps/sdk.js?appkey=xxx&libraries=services,drawing’).done(function(){Console.log( ‘Success to load kakao.js.’ );}).fail( function(){Console.log( ‘Failed to load kakao.js.’ );});

이렇게 했더니
Failed to execute ‘write’ on ‘Document’: It isn’t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
이런 Failed 메시지가 나타나면서 js가 로드 되더군요.

화면 Load 될때 아래와 같은 에러메시지가 발생합니다.
Uncaught TypeError: daum.maps.LatLng is not a constructor

  • 화면 스크립트 제일 처음에 사용한 daum.maps.LatLng function 에서 에러나네요

어쩔수 없이 $.getScript( 방법을 써야 하는데.
정상적으로 Load 잘 되게 할 수 있는 방법이 있는지요?

js 로드를
(script type=“text/javascript” src=“http://dapi.kakao.com/v2/maps/sdk.js?appkey=xxx&libraries=services,drawing”)(/script)
했을때는 에러 없던 페이지가

입니다.

자답 :

var oldDocumentWrite = document.write

// change document.write temporary
document.write = function(node){
$(“body”).append(node)
}

// get script
$.getScript( “http://www.googleadservices.com/pagead/conversion.js”, function() {
// replace the temp document.write with the original version
setTimeout(function() {
document.write = oldDocumentWrite
}, 100)
});

참조 : http://lucybain.com/blog/2014/google-adwords-async/

감사합니다.
수고하세요.

데브톡 검색해보시면 몇 가지 답변이 있습니다.
이미 나름대로 답을 내신 것 같지만
저희가 준비한 가이드는 아래의 답변들과 같으니 참고해주세요.

https://devtalk.kakao.com/t/api-api/36757/2?u=doji.doo

https://devtalk.kakao.com/t/lazy/36201/3?u=doji.doo

1개의 좋아요