때때로 아약스는 스크립트를로드해야하지만 문서 준비는 지연 스크립트가로드 될 때까지 될 수 있습니다.
jQuery는이 holdReady()
기능을 지원 합니다.
사용법 예 :
$.holdReady(true); //set hold
function releaseHold() { $.holdReady(false); } //callback to release hold
$.getScript('script.js', releaseHold); //load script then release hold
실제 스크립트 로딩은 비동기 적이지만 ( 오류 없음 ) 문서의 준비가 완료된 후 나머지 JavaScript가 실행되면 효과는 동기화됩니다 .
이 고급 기능 은 일반적으로 DOM이 준비되어 있어도 ready 이벤트가 발생하기 전에 jQuery 플러그인과 같은 추가 JavaScript를로드하려는 동적 스크립트 로더에서 사용됩니다.
설명서 :
https://api.jquery.com/jquery.holdready
업데이트 2019 년 1 월 7 일
에서 JQMIGRATE :
jQuery.holdReady ()는 더 이상 사용되지 않습니다
원인 :jQuery.holdReady()
방법은 페이지의 글로벌 성능에 미치는 해로운 영향으로 인해 더 이상 사용되지 않습니다. 이 방법을 사용하면 페이지의 모든 코드가 장시간 초기화되지 않을 수 있습니다.
솔루션 : 모든 jQuery 준비 핸들러가 지연되지 않도록 페이지를 다시 작성하십시오. 예를 들어 실행이 안전 할 때 지연이 필요한 코드 만 늦게로드하여이를 수행 할 수 있습니다. 이 방법의 복잡성으로 인해 jQuery Migrate는 기능을 채우려 고 시도하지 않습니다. jQuery Migrate와 함께 사용되는 jQuery의 기본 버전에 더 이상 jQuery.holdReady()
코드가 포함되어 있지 않으면 이 경고가 나타난 직후 코드가 실패합니다.