CloudFlare 에는 Rocket Loader (무료 및 유료 계정 모두) 라는 획기적인 기술이 있습니다. 그러나 실제로 어떻게 작동합니까?
그들은이 부부 의 페이지 기술을 설명하는 ,하지만 기술적 인 세부 사항을 많이. 주요 기능 중 하나는 모든 자바 스크립트를 비 블로킹 방식으로 (비동기 적으로)로드 하는 것입니다. 이는 스크립트가로드되고 실행될 때까지 기다리지 않고 HTML / CSS를 렌더링 할 수 있음을 의미합니다.
어떻게 가능합니까?
확실히 그것은 단순히 모든 변경할 수 없습니다 <script>
사용에 태그를 async="true"
하거나 defer="true"
이 같은 여러 문제를 일으킬 것입니다 ...
- 스크립트는 여전히 올바른 순서로로드해야합니다 (예 : jQuery 라이브러리가로드 될 때까지 jQuery 플러그인을로드 할 수 없음).
document.write()
이 스크립트의 호출은 작동해야합니다 ( 일반적으로 비동기 스크립트에서는 아무것도하지 않습니다 ).- DOMContentLoaded 이벤트는 어떻습니까? 이 스크립트 가 트리거 된 후 일부 스크립트가로드되면 이벤트 핸들러가 트리거되지 않습니까?
그리고 개발자로서 내 사이트 / 스크립트 / 플러그인이 로켓 로더와 호환되도록하기 위해 알아야 할 다른 것이 있습니까?