วิธีที่ดีที่สุดในการรวมไฟล์ JavaScript โดยใช้แท็กสคริปต์คืออะไร


50

ฉันมักจะรวมไฟล์ JavaScript โดยใช้แท็กสคริปต์ดังต่อไปนี้

<script type="text/javascript" src="somefile.js"></script>

ฉันเคยเห็นบางคนใช้คุณสมบัติภาษาเช่นกัน

วันนี้ฉันพบว่ามีคนจำนวนมากที่ไม่ใช้แอตทริบิวต์ type ฉันเริ่มรู้สึกว่าถ้าจาวาสคริปต์เป็นภาษาสคริปต์เริ่มต้นแล้วฉันก็ควรละเว้นคุณสมบัติประเภท การละเว้นแอตทริบิวต์ประเภทจะดีหรือไม่ มันจะทำให้เกิดปัญหาใด ๆ ?

คำตอบ:


48

ดูที่นี่เป็นข้อมูลอ้างอิง (Book of Speed): http://www.bookofspeed.com/chapter3.html

โดยพื้นฐานแล้ววิธีที่ดีที่สุดคือการรวม javascript ทั้งหมดของคุณเป็นไฟล์เดียวที่เรียกว่า all.min.js ที่ย่อเล็กสุด

โดยทั่วไปใน HTML5 คุณจะทำสิ่งที่ชอบ:

<script src="js/all.min.js"></script>

ในขณะที่คุณสามารถดูคุณไม่จำเป็นต้องประเภทแอตทริบิวต์ใน HTML5 แต่ที่คุณทำในรุ่นอื่น ๆ ของ HTML และ XHTML ข้อมูลจำเพาะชี้แจงว่าหากเนื้อหานั้นไม่ใช่ "text / javascript" ดังนั้นคุณต้องระบุแอตทริบิวต์ type ใน HTML5

สิ่งที่ต้องจำ:

บันทึก:

หากคุณจะระบุประเภทอื่นนอกเหนือจากที่text/javascriptคุณจะใช้อย่างใดอย่างหนึ่งต่อไปนี้:

  • "application / ECMAScript"
  • "application / จาวาสคริปต์"
  • "application / x-ECMAScript"
  • "application / x-จาวาสคริปต์"
  • "text / ecmascript" "text / javascript"
  • "text / javascript1.0"
  • "text / javascript1.1"
  • "text / javascript1.2"
  • "text / javascript1.3"
  • "text / javascript1.4"
  • "text / javascript1.5"
  • "text / Jscript"
  • "text / livescript"
  • "text / x-ECMAScript"
  • "text / x-จาวาสคริปต์"
  • "text / javascript ของ; E4X = 1"

รายการด้านบนมาจาก: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

โปรดจำไว้ว่าคุณจะไม่ใช้แอตทริบิวต์ภาษาเพียงแอตทริบิวต์ type


2
และสิ่งที่เกี่ยวกับคุณลักษณะภาษา มันเป็นการดีที่จะระบุหรือละเว้นมันได้หรือไม่
Cracker

1
ไม่รองรับแอตทริบิวต์ภาษาใน HTML5 แต่จะรวมกับแอตทริบิวต์ type แทน หากเป็นสิ่งอื่นที่ไม่ใช่ "text / javascript" คุณจะต้องระบุโดยใช้แอตทริบิวต์ type และหนึ่งในสิ่งต่อไปนี้จากหน้านี้: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo

ฉันได้อัปเดตคำตอบเพื่อแสดงความคิดเห็นข้างต้นแล้ว
alvincrespo

การตั้งค่าบางอย่างเช่นtext/javascript1.3นั้นมีผลกระทบที่แท้จริงแตกต่างจากการข้ามหรือไม่
Arturo Torres Sánchez
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.