2010-08-24 10 views
1

JavaScript를 많이 사용할수록 스크립트를로드하고 실행하는 효율적인 방법을 생각해냅니다. 하나의 방법은 정말 유용한 것으로 나타났습니다 차단없이 자바 스크립트를로드하고 있습니다.비 차단 스크립트 사용

function include_js(url) { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src = url; 
    document.getElementsByTagName("head")[0].appendChild(script); 
} 

include_js('script.js'); 

JavaScript에는 페이지가로드 될 때 실행되는 창 방법이 있습니다.

window.onload = function() { 
alert('Script executed onload'); 
}; 

, 그것은 차단 또는 스크립트를 비 블로킹 내가 뭘 어떻게 브라우저 치료 스크립트는 창로드 방법에 의해 실행 않습니다 알고 싶어?

답변

1

, 그것은 을 차단 또는 스크립트를 비 블로킹 내가 뭘 어떻게 브라우저 치료 스크립트는 위해 window.onload 방법에 의해 실행 않습니다 알고 싶어?

이벤트 처리기의 코드가 실행되는 방식을 언급하고 있습니까? 비동기 적으로 실행되지만 JavaScript는 하나의 스레드 만 가지므로 블록이며 스레드가 사용 가능할 때까지 자체적으로 차단됩니다.

단일 스레드 환경에서 비동기 메서드가 작동하는 방식을보다 잘 이해하려면 this article about how timers work을 참조하십시오.

다른 JavaScript 코드와 병렬로 실행되는 JavaScript 코드를 사용하는 유일한 방법은 실제로는 별도의 스레드를 사용하는 webworkers을 사용하는 것입니다.

+0

링크 해 주셔서 감사합니다. 이것은 제가 찾고 있던 답변입니다. –

1

비 차단입니다. 단순히 변수를 함수에 할당하고 다른 스크립트의 실행을 계속합니다. DOM이로드되면 할당 된 콜백이 호출됩니다.