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

วิธีใช้ HTML

เรียนรู้วิธีใช้ HTML <script> ธาตุ

HTML <script> ใช้เพื่อเพิ่มโค้ด JavaScript ลงในเอกสารของคุณ

ด้วย <script> คุณสามารถเพิ่ม JavaScript ได้สองวิธี:

  • คุณสามารถฝังโค้ด JavaScript แบบอินไลน์ได้โดยตรงในเอกสารของคุณ
  • หรือนำเข้า/โหลดไฟล์ JavaScript ภายนอก (.js )

ดังนั้นจึงเป็นเรื่องของการโหลด JavaScript ภายในเทียบกับภายนอก

มาดูทั้งสองตัวเลือกกัน

จาวาสคริปต์แบบอินไลน์

ในการฝังโค้ด JavaScript ในบรรทัด คุณต้องกำหนดแท็กสคริปต์เปิดและปิด และใส่โค้ด JS ไว้ภายใน:

<script>
  // Add your JavaScript code here
</script>

<script> สามารถใส่องค์ประกอบลงใน <head> . ของเอกสารของคุณได้ องค์ประกอบ:

<!DOCTYPE html>
<html>
  <head>
    <script>
      // Add your JavaScript code here
    </script>
  </head>
  <body>
    ...
  </body>
</html>

หรือนอก <head> ก่อนปิด </body> แท็กองค์ประกอบ:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    ...
    <script>
      // Add your JavaScript code here
    </script>
  </body>
</html>

แล้วอะไรคือความแตกต่างระหว่างการวาง JavaScript ใน <head> เทียบกับ <body> ?

ความแตกต่างคือ ประสิทธิภาพ และมันสามารถเป็น ใหญ่ ความแตกต่าง

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

การดำเนินการไฟล์ JavaScript อาจใช้เวลาสองสามมิลลิวินาที (มิลลิวินาที) หรือหลายวินาที ขึ้นอยู่กับขนาดและประเภทของโค้ดที่คุณกำลังดำเนินการ จึงสามารถชะลอเวลาก่อนที่หน้าเว็บของคุณจะโต้ตอบ (ใช้งานได้) กับผู้ใช้

โดยการวางโค้ด JavaScript ของคุณไว้ที่ด้านล่าง (ก่อน </body> ) โค้ด JavaScript จะไม่โหลดและดำเนินการจนกว่า หลัง เนื้อหาหน้าทั้งหมดของคุณแสดงผลและผู้ใช้สามารถมองเห็นได้ เพื่อหลีกเลี่ยงการบล็อก เนื้อหาของหน้าจึงทำให้ผู้ใช้สามารถโต้ตอบกับหน้าเว็บได้เร็วกว่านี้

เอาล่ะ ตอนนี้คุณรู้วิธีฝังโค้ด JavaScript แบบอินไลน์แล้วและวิธีดำเนินการอย่างมีประสิทธิภาพสูงสุด

ตอนนี้ มาดูการนำเข้าโค้ด JavaScript ภายนอก และความแตกต่างจาก JavaScript ภายใน (อินไลน์)

นำเข้าไฟล์ JavaScript ภายนอก

ในการโหลดโค้ด JavaScript ภายนอก คุณต้องนำเข้าผ่านไฟล์ที่มี .js การขยาย. เช่น. main.js .

มันทำงานดังนี้:

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

และเช่นเดียวกับ inline JavaScript คุณสามารถใส่ไว้ใน <head> . ของคุณ องค์ประกอบ:

<!DOCTYPE html>
<html>
  <head>
    <script src="main.js"></script>
  </head>
  <body>
    ...
  </body>
</html>

หรือก่อนปิดแท็กองค์ประกอบเนื้อหา </body> :

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    ...
    <script src="main.js"></script>
  </body>
</html>

แอตทริบิวต์การเลื่อน

ด้วย Javascript ที่ทันสมัย ​​มีประสิทธิภาพมากยิ่งขึ้น วิธีการเรียกใช้สคริปต์ภายนอกของคุณมากกว่าการโหลดที่ด้านล่างของหน้า

เราสามารถใช้ defer แอตทริบิวต์บน <script> องค์ประกอบ:

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

แล้วใส่ไว้ใน <head> . ของคุณ องค์ประกอบ:

<!DOCTYPE html>
<html>
  <head>
    <script defer src="main.js"></script>
  </head>
  <body>
    ...
  </body>
</html>

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

หากสคริปต์ภายนอกของคุณอยู่ด้านล่าง (ก่อน </body> ) สิ่งนี้จะเกิดขึ้น:

  • ขั้นแรก แยกวิเคราะห์โค้ด HTML
  • จากนั้นก็แสดงผล HTML
  • จากนั้นก็โหลดโค้ด JavaScript
  • จากนั้นก็รันโค้ด JavaScript

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

ทำไมถึงดีกว่านี้? ไม่จำเป็นต้องดีกว่าเสมอไป แต่เว็บไซต์จำนวนมากพึ่งพา JavaScript เพื่อทำงานทันที ทันทีที่หน้าเว็บกลายเป็นแบบโต้ตอบ (สำหรับผู้ใช้) และวิธีนี้จะทำให้ไซต์ของคุณพร้อมสำหรับการโต้ตอบเร็วขึ้นมาก

ไม่เป็นไรถ้าคุณไม่เข้าใจdefer .นี้ แนวคิดตอนนี้ เมื่อคุณมีประสบการณ์จริงกับมันแล้ว

สิ่งสำคัญที่สุดคือต้องรู้ว่า โดยทั่วไป วิธีที่มีประสิทธิภาพที่สุดในการรันโค้ด JavaScript บนเว็บไซต์ของคุณ

นานาน่ารู้:

  • คุณใช้ได้เฉพาะ defer แอตทริบิวต์ในไฟล์ JavaScript ภายนอก — ไม่อยู่ในโค้ด JavaScript แบบอินไลน์
  • เมื่อนำเข้าสคริปต์ภายนอก คุณต้องระบุพาธต้นทางที่สัมพันธ์กัน ดังนั้นหาก JavaScript main.js ของคุณ ไฟล์อยู่ในโฟลเดอร์ชื่อ js ภายในไดเรกทอรีโครงการรากของคุณ คุณนำเข้าเช่นนี้ src="/js/main.js"
  • บางครั้ง คุณจะเห็น <script> องค์ประกอบที่มีตัวระบุภาษาโดยใช้ type แอตทริบิวต์ <script type="text/javascript"> ใน HTML5 (เวอร์ชันล่าสุด) คุณไม่จำเป็นต้องทำเช่นนี้อีกต่อไป เนื่องจากมีการตั้งค่าเริ่มต้นไว้แล้ว