스킬(skills)/자바스크립트(Javascript)
defer 속성에 관하여
후바스탱크
2014. 11. 3. 20:30
간혹 <script type="text/javascript" defer="defer"> 라는 구문을 본 적이 있을것이다.
defer 는 '미루다, 연기하다' 라는 의미를 가진 단어로써
html 및 css 보다 늦게 자바스크립트 구문을 호출하는 방법이다.
예를들어(이렇 게하는 경우는 굉장히 드물겠지만)
페이지 로딩 후 select 박스의 값을 변경해야 하는일이 있을때
select 태그 바로 밑에 javascript 구문을 쓰는 경우가 있을것이다.
이렇게 html 이 먼저 로딩되고 나서야 javascript 구문이 동작해야 하는 경우 기존에는
body 안에다가 끼워넣었을 것이다.
그렇지만 좀 더 소스를 깔끔하게 하기 위하여 head 태그 안에 script 를 선언 하고도 위와같은 동작이 원할하게 수행되고자 할때 바로 defer 를 쓰는것이다.
<script src="demo_defer.js" defer></script>
이렇게 쓰면 된다.
단, 반드시 .js 형태의 javascript source 파일 형식으로 해야 사용 가능하다.
또한 W3C 정식 표기법은 defer="defer" 가 아니라 그냥 defer 만 쓰면 된다.