답변:
이라고 load
합니다. DOM 준비가 끝나기 전에 와서 실제로 왔으며 DOM 준비는 실제로 load
이미지 를 기다린 정확한 이유로 만들어졌습니다 .
window.addEventListener('load', function () {
alert("It's loaded!")
})
window.onload
가있을 때 DOM 준비와 비교하여 명확히하기 위해 (가능한 경우) 호출됩니다 . 내가 맞아?
onload
는 문서의 일부인 모든 리소스를 기다립니다. 물론 AJAX 요청과 같이 문서 자체의 일부가 아닌 동적으로 작성된 요청은 제외됩니다.
addEventListener("load", function(){
... 속성 })
을 덮어 쓰는 대신입니다 onload
.
일반적으로을 사용할 수 window.onload
있지만 window.onload
뒤로 / 앞으로 가기 기록 단추를 사용할 때 최신 브라우저가 실행되지 않는 것을 알 수 있습니다 .
어떤 사람들 은 이 문제를 해결하기 위해 이상한 왜곡을 제안 하지만 실제로 window.onunload
핸들러를 만들면 (아무 것도하지 않는 핸들러조차도) 모든 브라우저 에서이 캐싱 동작이 비활성화됩니다 . MDC는 꽤 잘이 "기능"을 문서화하지만, 어떤 이유로 사용하는 사람들 거기에 여전히 setInterval
다른 이상한 해킹.
일부 Opera 버전에는 페이지 어딘가에 다음을 추가하여 해결할 수있는 버그가 있습니다.
<script>history.navigationMode = 'compatible';</script>
뷰당 한 번만 호출되는 (그리고 DOM로드가 완료된 후가 아니라) 자바 스크립트 함수를 얻으려는 경우 다음과 같이 할 수 있습니다.
<img src="javascript:location.href='javascript:yourFunction();';">
예를 들어,이 트릭을 사용하여 로딩 화면에서 매우 큰 파일을 캐시에 미리로드합니다.
<img src="bigfile"
onload="this.location.href='javascript:location.href=\'javascript:doredir();\';';doredir();">
완성도를 높이기 위해 DOMContentLoaded에 바인딩 할 수도 있습니다. 이제 DOMContentLoaded가 널리 지원됩니다.
document.addEventListener("DOMContentLoaded", function(event){
// your code here
});
자세한 정보 : https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
$.ready
했기 때문에 좋은 기여를했다고 생각했습니다. Btw. 이벤트에 여러 가지 콜백을 허용 하기 때문에 addEventListener
-method도 사용합니다 load
.window.addEventListener("load", function(event){ // your code here });
전체 페이지가로드 된 후에 만 실행하십시오.
자바 스크립트로
window.onload = function(){
// code goes here
};
Jquery 작성
$(window).bind("load", function() {
// code goes here
});
$(window)
이것이 jquery라고 생각하게합니다. 아니면 자바 스크립트 구문이 혼란 스럽습니까? (저는 JS를 처음 사용합니다).
$(document).ready();
jQuery를 사용할 수있을 때 단순히 사용하지 않는 이유 는 무엇입니까?
이 코드를 사용해보십시오
document.onreadystatechange = function () {
if (document.readyState == "interactive") {
initApplication();
}
}
자세한 내용 은 https://developer.mozilla.org/en-US/docs/DOM/document.readyState 를 방문 하십시오.
"interactive"
완전히로드되지 않았습니다. "complete"
완전히로드되었습니다
docs가 준비되고 페이지의 다른 모든 자산 (이미지 등) 이로 드 될 때까지 문서가 실행되지 않음을 나타내므로 window.onload 를 사용할 수 있습니다 .
그리고 다음은 PrototypeJS 로 수행하는 방법입니다 .
Event.observe(window, 'load', function(event) {
// Do stuff
});
최신 자바 스크립트 (> = 2015)를 사용하는 최신 브라우저에서는 type="module"
스크립트 태그에 추가 할 수 있으며 전체 페이지가로드 된 후 해당 스크립트 내의 모든 항목이 실행됩니다. 예 :
<script type="module">
alert("runs after") // Whole page loads before this line execute
</script>
<script>
alert("runs before")
</script>
또한 오래된 브라우저는 nomodule
속성 을 이해 합니다. 이 같은:
<script nomodule>
alert("tuns after")
</script>
자세한 정보는 javascript.info 를 방문하십시오 .
온로드 GlobalEventHandlers 믹스 인의 특성은 하중의 이벤트에 대한 이벤트 핸들러 등 창, XMLHttpRequest의 요소, 자원은로드 화재.
그래서 기본적으로 자바 스크립트에는 이미 이미지를 포함하여 어떤 페이지가 완전히로드 된 창에 onload 메소드가 있습니다 ...
당신은 뭔가를 할 수 있습니다 :
var spinner = true;
window.onload = function() {
//whatever you like to do now, for example hide the spinner in this case
spinner = false;
};