2012-08-01 2 views
3

API 호출의 반환 값을 기반으로 자바 스크립트를 동적으로로드하려고합니다. 동적으로 스크립트 태그를 삽입하지만 실행되지는 않습니다. 왜 누군가가 이해하는데 도움이 될 수 있습니까? 관련 코드가 불을 지르고/크롬 관리자를 사용동적 자바 스크립트로드 및 실행

onError: function(code) { 
     if(code == "false") { 
     var headID = document.getElementsByTagName("head")[0]; 
     var scriptTag = document.createElement("script"); 
     scriptTag.type="text/javascript"; 
     scriptTag.src= 'scriptURL'; 
     headID.appendChild(scriptTag); 
     } 
} 

아래에 붙여, 나는 스크립트 태그는 DOM에 추가되지만 스크립트가 (적어도 내가 결정할 수) 실행되지 않는 것을 볼 수 있습니다. 타사 스크립트이므로 직접 제어 할 수 없으므로 수정할 수도 없습니다.

+1

제대로로드 되었습니까? 네트워크 패널을 살펴보십시오. 그렇다면 콘솔에 구문 또는 런타임 오류가 발생합니까? – Bergi

+1

스크립트에 즉시 수행해야하는 코드가 포함되어 있습니까? 아니면 코드에서 명시 적으로 호출해야하는 함수를 정의합니까? 'alert ("I 'm loaded");를 포함하는 자신의 간단한'test.js'로 타사 스크립트를 대체한다면 어떻게됩니까? – nnnnnn

+0

로드되었는지 여부를 판별 할 수없는 경우 콘솔 로그가있는 새 JavaScript 파일을 만들고 스크립트 URL이이를 가리 키도록 변경하려고 할 수 있습니다. – JCOC611

답변

1

아래의 설명을 읽은 후 타사 스크립트가 window.onload 이벤트에서 작업을 수행하고있는 것으로 보입니다. 많은 프로그래머가이 스타일을 사용합니다.

window.onload = function() { 
    // Whatever task 
}; 

당신이 '무엇이든 작업'코드가 실행되지 않을 것이다, 동적 스크립트 태그를 추가하기 전에 페이지의 onload 이벤트가 이미 해고 된 경우

.

타사 스크립트의 출처를 확인하십시오. window.onload를 사용하면 window.onload()를 호출 해 볼 수 있습니다. 스크립트 태그를 동적으로 추가하면

관련 문제