1
Rocket Loader ของ CloudFlare ใช้งานได้จริงอย่างไร (และนักพัฒนาสามารถมั่นใจได้ถึงความเข้ากันได้) อย่างไร
CloudFlareมีเทคโนโลยีล้ำสมัยที่เรียกว่าRocket Loader (ทั้งในบัญชีฟรีและบัญชีที่ชำระเงินแล้ว) แต่มันใช้งานได้จริงอย่างไร พวกเขามีคู่ของหน้าเว็บที่อธิบายเทคโนโลยีแต่ไม่มากของรายละเอียดทางเทคนิค หนึ่งในคุณสมบัติที่สำคัญคือมันทำให้การโหลด Javascript ทั้งหมดในแบบที่ไม่มีการบล็อก (แบบอะซิงโครนัส)ซึ่งค่อนข้างเป็นเรื่องที่น่าทึ่ง! นี่หมายความว่า HTML / CSS สามารถแสดงผลได้โดยไม่ต้องรอให้สคริปต์โหลดและรัน เป็นไปได้อย่างไร? แน่นอนว่ามันไม่สามารถเปลี่ยน<script>แท็กทั้งหมดเพื่อใช้งานได้async="true"หรือdefer="true"อย่างนี้จะทำให้หลาย ๆ อย่าง ... สคริปต์ยังคงต้องโหลดตามลำดับที่ถูกต้อง (ตัวอย่างเช่นคุณไม่สามารถโหลดปลั๊กอิน jQuery ได้จนกว่าห้องสมุด jQuery จะโหลดแล้ว) document.write()การเรียกใช้สคริปต์เหล่านี้จำเป็นต้องใช้งาน ( เห็นได้ชัดว่าสิ่งเหล่านี้ไม่ได้ทำในสคริปต์ async ทั่วไป ) แล้วเหตุการณ์ DOMContentLoaded ล่ะ หากสคริปต์บางตัวโหลดขึ้นหลังจากสิ่งนี้เริ่มทำงานตัวจัดการเหตุการณ์ของพวกเขาจะไม่แสดงผลหรือไม่ และในฐานะนักพัฒนามีอะไรอีกบ้างที่ฉันต้องระวังเพื่อให้แน่ใจว่าไซต์ / สคริปต์ / ปลั๊กอินของฉันยังคงใช้งานได้กับ Rocket Loader?