작동하려면 1 시간 이상 지난 후 크로스 도메인 정책으로 인한 것일 수 있지만 실제로는 효과가 있다고 생각합니다. 나는 그것에 관한 많은 정보도 찾을 수 없다. 그러나 여기에 내 문제가있다. 나는 http://mysite.com라고 불리는 사이트를 가지고 있는데, 제 3 자 스크립트 (어떤 글을 쓰는 것인가)와 그것의 http://supercoolsite.com/api/script.js에이 스크립트는 동적으로 구글 맵스 API를로드해야합니다. http://maps.google.com/maps/api/js?sensor=false 실행하기 전에.자바 스크립트로 자바 스크립트를 동적으로로드하십시오.
function loadScript(filename,callback){
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
fileref.onload = callback();
if (typeof fileref!="undefined"){
document.getElementsByTagName("head")[0].appendChild(fileref)
}
}
loadScript('http://maps.google.com/maps/api/js?sensor=false',function(){
console.log('done loading');
init();
});
을하지만 내 콘솔 내 대답은 다음과 같습니다 : 글쎄, 난이 코드가 작동 것이라고 생각
api.js:408 done loading
api.js:115 test
api.js:310 Uncaught ReferenceError: google is not defined
은 "test
"는 init()
의 상단에 있습니다. 그래서, 그것은 스크립트를로드하고 있지만 그것을 실행하지 않는 것 같습니다. 그래서, 어떤 아이디어? 그것은 크로스 사이트 스크립팅 문제가 있다면 내가 생각할 수있는이 유일한 해결 방법은 PHP 스크립트를 기본적으로 그냥 텍스트/자바 스크립트 헤더에 헤더를 설정하고 다음 echo file_get_contents()
googlemaps.php
우리가 호스트 파일에 PHP 스크립트가 발생했습니다. 가능하면 순수한 JS로 그것을 할 수있는 방법이 최고 일 것입니다.
P. 또한 다음, jQuery를 추가 getScript()
을하고, 그리고 그것은 여전히 didnt 한 작업을 시도
- UPDATE -
이 바이올린 참조 : http://jsfiddle.net/ycMCa/2/
당신은 당신이 당신의 콘솔에서 오류가 있음을 볼 수 있습니다를 : Uncaught TypeError: undefined is not a function
google
변수가 전역 변수 임에도 불구하고.
fileref.onload = callback();
이
fileref.onload
에 자사의
반환 값을 즉시
callback
를 호출하고 할당합니다 :