Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

วิธีใช้ HTML Defer Attribute: โหลด JavaScript แบบไม่บล็อกการแสดงผล

ใน HTML แอตทริบิวต์ โดยปกติ ประกอบด้วยชื่อแอตทริบิวต์และค่าแอตทริบิวต์ เช่นในตัวอย่างแองคอร์เอลิเมนต์

อย่างไรก็ตาม บางครั้ง ค่า (พฤติกรรม) ถูกสร้างไว้ในตัวชื่อแอตทริบิวต์

ตัวอย่างเช่น แอตทริบิวต์ defer ที่เราใช้แก้ไขเอลิเมนต์ HTML <script>:

<script defer src="app.js"></script>

สังเกตว่าแอตทริบิวต์ defer ไม่มีตัวดำเนินการกำหนดค่า (=) หรือค่า เพราะพฤติกรรมของมันถูกสร้างไว้ในตัว

defer เป็นที่เรียกว่าแอตทริบิวต์ boolean บูลีนใช้สำหรับประเภทข้อมูลที่มีได้เพียงสองค่า true หรือ false (หรือ enable/disable)

ลองดูรายละเอียดแอตทริบิวต์ defer ใกล้ชิดกัน

เอลิเมนต์ <script> นี้ ไม่มี แอตทริบิวต์ defer จะรันโค้ด JavaScript จากค่า src ของ app.js ทันทีที่เบราว์เซอร์โหลดมัน:

<script src="app.js"></script>

โดยค่าเริ่มต้น เอกสาร HTML ถูกแยกวิเคราะห์ (อ่าน) จากบนลงล่าง บรรทัดละบรรทัด หมายความว่าหากคุณวาง JavaScript ใดๆ ที่ด้านบนของเอกสาร มันจะรัน ก่อน ที่ส่วนที่เหลือของเอกสารจะเสร็จสิ้นการแยกวิเคราะห์

นั่นคือพฤติกรรม ค่าเริ่มต้น ของเอลิเมนต์ script

แต่วันที่คุณเพิ่ม defer ให้กับเอลิเมนต์ <script> คุณปิดใช้งานพฤติกรรมค่าเริ่มต้นนั้น:

<script defer src="app.js"></script>

ตอนนี้ โค้ด JavaScript จะไม่รันจนกว่าหน้าทั้งหมดจะโหลดเสร็จ

ในความหมายตามตัวอักษร defer หมายถึง โพสต์โพน/เลื่อน/รอ

เพื่อให้เข้าใจชัดเจน:

  • ไม่มี defer, JavaScript รันทันทีที่โหลดเสร็จ
  • มี defer JavaScript รอรันจนกว่า HTML หน้าทั้งหมดจะโหลดเสร็จ

หากแอตทริบิวต์ทำให้คุณสับสน อย่ากังวล มันจะมีความหมายมากขึ้น 10 เท่าเมื่อคุณเริ่มใช้งานจริง