외부의 .js 파일에서 라이브러리 함수를 사용하는 가능한 한 페이지 처리 초기에 HTML 페이지에서 일부 인라인 자바 스크립트를 실행하려고합니다.HTML 문서의 머리 부분에있는 외부 스크립트가 본문에 포함 된 스크립트보다 먼저 실행되도록 보장됩니까?
필자는 항상 라이브러리 스크립트를 머리에 넣고 본문의 클라이언트 스크립트를 작동시키는 것처럼 보였지만 문서의 머리 부분에 포함 된 외부 스크립트는 보장됩니다. (w3schools 사이트를 제외하고는 평판이 좋은 참조로 간주되지 않습니다.)
설명하기 위해 HTML에 대한 User-Agent 동작에 대해 궁금합니다. 이렇게 :
<html>
<head>
<script type="text/javascript src="libraryModule.js"></script>
</head>
<body>
<script type="text/javascript">
// is this guaranteed to run after the external script?
// or is it possible this module that the external library
// adds to the global namespace won't be there yet?
var result = ModuleInExternalLibrary.DoLibraryThing();
</script>
</body>
</html>
어디에서 문서화되어 있습니까? 나는 모든 주요 브라우저의이 영역에서 동작을 요약 한 W3C 사양이나 좋은 게시물에서 아무것도 찾을 수 없습니다. 링크를 제공하십시오.
외부 스크립트가 실행되도록 보장하기 위해 onload 이벤트가 발생할 때까지 기다리지 않아도됩니까?
감사합니다. 내 고객이 귀하가 네트워크에서 연결 한 URL을 차단했지만 나중에 확인해 보겠습니다. 관련 메모에서 외부 스크립트 태그가 소스를 가져 오는 동안 다른 태그의 실행을 차단한다고 생각합니까? 그래서 실행 순서는 HTML에서 맨 아래로 나타나는 것처럼 하나의 쓰레드를 처리하는 것으로 귀착됩니까? w3c 스펙에서 외부 스크립트가 실행되는 방법에 대한 설명을 찾을 수 없습니다. –