javascript code 실행 전에 javascript 파일이 모두 로딩될 때까지 기다리는 것이 가능합니까?
우리는 마스터 페이지 하단에 로드되는 자바스크립트 파일이 몇 개 있습니다.하지만 다른 스크립트가 로딩되기 전에 자바스크립트를 수행해야 하는 상황이 생겼습니다.모든 자바스크립트 파일이 로드될 때까지 기다렸다가 일부 자바스크립트 코드를 실행할 수 있습니까?
내 생각에는 말이지…$(document).ready()
이런 짓을 했지만, 알고 보니 그렇지 않아요.물론 스크립트 파일을 아래에서 위로 옮길 수는 있지만, 제가 원하는 것으로 가능한지 궁금합니다.
사용가능
$(window).on('load', function() {
// your code here
});
페이지가 로드될 때까지 기다립니다.$(document).ready()
DOM이 로드될 때까지 기다립니다.
일반 JS:
window.addEventListener('load', function() {
// your code here
})
코드가 로드된 후에 코드를 사용하고 실행할 수 있습니다.
$.getScript("my_lovely_script.js", function(){
alert("Script loaded and executed.");
// here you can use anything you defined in the loaded script
});
더 나은 설명은 여기에서 확인할 수 있습니다.다른 자바스크립트 파일에 자바스크립트 파일을 포함하려면 어떻게 해야 합니까?
사용가능<script>
의defer
기여하다.페이지 파싱이 완료되면 스크립트가 실행되도록 지정합니다.
<script defer src="path/to/yourscript.js">
이것에 관한 멋진 기사: http://davidwalsh.name/script-defer
브라우저 지원은 꽤 괜찮은 것 같습니다. http://caniuse.com/ #search=
지연 및 비동기를 사용하여 JS를 로드하는 것에 대한 또 다른 좋은 기사: https://flaviocopes.com/javascript-async-defer/
@Eruant의 답변을 좀 더 확대해서 보면,
$(window).on('load', function() {
// your code here
});
두 가지 모두에 매우 적합합니다.async
그리고.defer
스크립트를 로드하는 동안.
따라서 다음과 같은 모든 스크립트를 가져올 수 있습니다.
<script src="/js/script1.js" async defer></script>
<script src="/js/script2.js" async defer></script>
<script src="/js/script3.js" async defer></script>
꼭 확인해 주세요.script1
함수를 호출하지 않습니다.script3
전에$(window).on('load' ...
, 그들을 꼭 안으로 불러들입니다.window load
이벤트성의
비동기/지연기에 대한 자세한 내용은 여기에 있습니다.
저한테는 잘 맞는군요.
var jsScripts = [];
jsScripts.push("/js/script1.js" );
jsScripts.push("/js/script2.js" );
jsScripts.push("/js/script3.js" );
$(jsScripts).each(function( index, value ) {
$.holdReady( true );
$.getScript( value ).done(function(script, status) {
console.log('Loaded ' + index + ' : ' + value + ' (' + status + ')');
$.holdReady( false );
});
});
언급URL : https://stackoverflow.com/questions/11258068/is-it-possible-to-wait-until-all-javascript-files-are-loaded-before-executing-ja
'programing' 카테고리의 다른 글
Oracle: 조건을 포함한 전체 텍스트 검색 (0) | 2023.11.06 |
---|---|
Wildfly 및 자동으로 데이터베이스에 다시 연결 (0) | 2023.11.06 |
MYSQL LOAD DATA INFILE 중복 행 무시(기본 키로 자동 증가) (0) | 2023.11.06 |
설치된 모든 node.js 모듈의 목록을 인쇄합니다. (0) | 2023.11.01 |
Android와 iPhone 둘 다 모바일 앱에서 추천 프로그램을 구현하는 방법 (0) | 2023.11.01 |