다른 답변은 모두 오래된 것
우선, 상단에 스크립트를 넣고 window.onload
를 사용하여 안티 패턴이다. 인터넷 익스플로러의 날이나 자바 스크립트와 브라우저에 대한 오해가 가장 많았습니다.
당신은 단지 그들이 실수로 head
섹션에 갈 필요가 스크립트를 믿었 기 때문에 사람들이 window.onload
을 사용하는 유일한 이유는 당신의 HTML
<html>
<head>
<title>My Page</title>
</head>
<body>
content
</body>
<script src="some-external.js"></script>
<script>
some in page code
</script>
</html>
의 바닥 스크립트를 이동할 수 있습니다. 스크립트가 머리 부분에 있다면 물건이 순서대로 실행되기 때문에 몸과 내용은 의 정의로 아직 존재하지 않으며 순서로 실행됩니다.
해킹 방법은 window.onload
을 사용하여 나머지 페이지가로드 될 때까지 기다리는 것입니다. 스크립트를 하단으로 이동하면 해당 문제가 해결되어 몸과 내용이 이미로드되어 있으므로 window.onload
을 사용할 필요가 없습니다.
현대적인 해결책은 스크립트에 defer
태그를 사용하는 것이지만 스크립트는 모두 외부에 있어야한다는 점을 사용하는 것입니다.
<head>
<script src="some-external.js" defer></script>
<script src="some-other-external.js" defer></script>
</head>
이 브라우저가 바로 스크립트를 다운로드를 시작합니다 장점을 가지고 있으며 지정된 순서대로 실행됩니다 있지만 페이지가로드 된 후 때까지를 실행하기 위해 대기, window.onload
또는 더 나은에 대한 필요가 없습니다 하지만 여전히 불필요한 window.addEventListener('load', ...
@xgqfrms [jQuery 항상 대답은 아닙니다] (http://meta.stackoverflow.com/questions/335328/when-is-use-jquery-not-a-valid-answer-to- - 자바 스크립트 - 질문) ... –