js_javascript 스킬의 실행지연 문제 분석

WBOY
풀어 주다: 2016-05-16 16:43:34
원래의
1447명이 탐색했습니다.

이 코드를 보세요:

<body>
  <script src="deffer.js"></script>
  content
 </body>
로그인 후 복사

defer.js의 내용은 다음과 같습니다.

alert(1)
로그인 후 복사

이렇게 하면 알림 창이 닫힐 때까지 페이지가 공백으로 유지됩니다. 경고 창으로 인해 페이지가 계속 렌더링되지 않기 때문입니다.

이러한 문제를 방지하기 위해 defer 및 async 속성은 HTML 사양에 정의되어 있습니다. 이 두 속성의 구체적인 정의는 여기서 논의되지 않습니다. 어쨌든 이 속성은 이 페이지가 실행되어야 함을 브라우저에 알리는 데 사용됩니다. 페이지 렌더링이 완료된 후 스크립트가 실행될 때 페이지가 렌더링되도록 스크립트의 내용입니다.

<body>
  <script deffer async src="deffer.js"></script>
  content
 </body>
로그인 후 복사

defer 또는 async가 추가된 여러 스크립트의 경우 실행 순서는 페이지에 나타나는 순서와 아무 관련이 없습니다. HTML 사양에서는 defer 스크립트가 순서대로 실행되어야 한다고 정의하지만 브라우저는 실제로 이 규칙을 따르지 않습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿