แบบไหนดีกว่าหรือใช้สะดวกกว่า:
<script type="text/javascript">...</script>
หรือ
<script>...</script>
แบบไหนดีกว่าหรือใช้สะดวกกว่า:
<script type="text/javascript">...</script>
หรือ
<script>...</script>
<!doctype html>ไม่จำเป็นต้องใช้คำใบ้ประเภท MIME type="text/javascript"บน<script>แท็กเนื่องจากจะใช้โดยค่าเริ่มต้น ในทางกลับกัน (ไม่ใช่ HTML5) ขอแนะนำและแนะนำ (โดยอ้างอิงคำใบ้ประเภท MIME type="text/javascript")
คำตอบ:
คุณต้องการแอตทริบิวต์ประเภทหรือไม่? หากคุณใช้ HTML5 ไม่ มิฉะนั้นใช่ HTML 4.01 และ XHTML 1.0 ระบุtypeแอตทริบิวต์ตามที่ต้องการในขณะที่ HTML5 มีเป็นทางเลือกซึ่งเป็นค่าtext/javascriptเริ่มต้น ขณะนี้ HTML5 ถูกนำไปใช้อย่างแพร่หลายดังนั้นหากคุณใช้หลัก HTML5 <script>...</script>ก็ถูกต้องและเป็นทางเลือกที่ดี
สิ่งที่ควรมีในแอตทริบิวต์ type ประเภท MIME ที่application/javascriptลงทะเบียนในปี 2549 มีวัตถุประสงค์เพื่อแทนที่text/javascriptและได้รับการสนับสนุนโดยเบราว์เซอร์หลักทั้งหมดในเวอร์ชันปัจจุบัน (รวมถึง Internet Explorer 9) คำพูดจากRFC ที่เกี่ยวข้อง :
เอกสารนี้จึงกำหนด text / javascript และ text / ecmascript แต่ทำเครื่องหมายว่า "ล้าสมัย" ไม่แนะนำให้ใช้ประเภทสื่อทดลองและไม่ได้ลงทะเบียนตามที่ระบุไว้ในส่วนด้านบน ประเภทสื่อ
* application/javascript * application/ecmascriptซึ่งกำหนดไว้ในเอกสารนี้มีไว้สำหรับการใช้งานทั่วไปและควรใช้แทน
อย่างไรก็ตาม IE และรวมถึงรุ่น 8 ไม่ได้รันสคริปต์ภายใน<script>element ที่มีtypeแอตทริบิวต์ของทั้งสองapplication/javascriptหรือapplication/ecmascriptดังนั้นหากคุณต้องการที่จะสนับสนุนเก่า IE, text/javascriptคุณติดอยู่กับ
typeแอตทริบิวต์ การตรวจสอบความถูกต้องกับ HTML4.01 หรือ XHTML 1.0 ไม่ใช่สิ่งที่คุณควรทำอีกต่อไปและเบราว์เซอร์ทั้งหมดจะรองรับแท็กของคุณโดยไม่มีtext/javascript
typeเลยเพราะใช้ได้กับทุกเบราว์เซอร์ อาจจะเป็นคนอื่น
ทั้งสองอย่างจะใช้งานได้ แต่มาตรฐาน xhtml ต้องการให้คุณระบุtypeด้วย:
<script type="text/javascript">..</script>
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
type = content-type [CI] แอ็ตทริบิวต์นี้ระบุภาษาสคริปต์ของเนื้อหาขององค์ประกอบและแทนที่ภาษาสคริปต์เริ่มต้น ภาษาสคริปต์ถูกระบุเป็นประเภทเนื้อหา (เช่น "text / javascript") ผู้เขียนต้องระบุค่าสำหรับแอตทริบิวต์นี้ ไม่มีค่าเริ่มต้นสำหรับแอตทริบิวต์นี้
แจ้งความสำคัญข้างต้น
http://www.w3.org/TR/html4/interact/scripts.html
หมายเหตุ:สำหรับ HTML5 (ไกลออกไป) typeไม่จำเป็นต้องใช้แอตทริบิวต์และเป็นค่าเริ่มต้น
คุณจำเป็นต้องใช้<script type="text/javascript"> </script>เว้นแต่คุณจะใช้ html5 ในกรณีนี้คุณควรเลือก<script> ... </script>(เนื่องจากแอตทริบิวต์ type ถูกระบุโดยค่าเริ่มต้นสำหรับค่านั้น)
นี่คือสิ่งที่จำเป็น:
<!doctype html>
<script src="/path.js"></script>
<script type="text/javascript"></script> เพราะเป็นวิธีที่ถูกต้องและเข้ากันได้กับเบราว์เซอร์ทั้งหมด
ด้วย Firefox ล่าสุดฉันต้องใช้:
<script type="text/javascript">...</script>
มิฉะนั้นสคริปต์อาจทำงานไม่ถูกต้อง