HTML และโหมด "นิสัยใจคอ" กับ "การปฏิบัติตามมาตรฐาน": อธิบายและบอกเราว่าทำไมเราถึงต้องใส่ใจ


16

อะไรคือความแตกต่างระหว่างโหมด "นิสัยใจคอ" และ "การปฏิบัติตามมาตรฐาน" เมื่อสร้างเว็บเพจ HTML?

จะบอกได้อย่างไรว่าเมื่อใช้งานในโหมดเดียวกับโหมดอื่น? ทำไมคน - เช่นผู้ดูแลเว็บและนักออกแบบเว็บและนักพัฒนา - ใส่ใจเกี่ยวกับการเลือกโหมดการปฏิบัติตามมาตรฐานมากกว่าโหมดนิสัยใจคอ?

โหมดนิสัยใจคอมีเหตุผลพอสมควรหรือไม่เมื่อพัฒนาเนื้อหาใหม่

คำตอบ:


11

นี่อาจเป็นบทความที่ดีที่สุดเกี่ยวกับโหมดนิสัยใจคอที่ฉันได้พบ ฉันเองพยายามใช้โหมดมาตรฐานทุกครั้งที่ทำได้เนื่องจากมีโอกาสที่ดีที่สุดในการทำงานกับเบราว์เซอร์ส่วนใหญ่


5

หากคุณพัฒนาในโหมดนิสัยใจคอคุณจะต้องขอให้เบราว์เซอร์เลียนแบบข้อผิดพลาดก่อน IE6 อย่างมีประสิทธิภาพ นั่นเป็นสิ่งที่คุณต้องการทำจริงๆหรือ?

วิกิพีเดียอธิบายพื้นฐานของการเรียกใช้โหมดนิสัยใจคอ แต่มีหลายกรณีที่ไม่ครอบคลุม ลิงค์ให้โดย txwikingerให้คำอธิบายที่ดีของประวัติศาสตร์และความแตกต่างหลัก

Jukka Korpela อธิบายความแตกต่างของรายละเอียดและวิธีตรวจสอบโหมดความเข้ากันได้:

การตรวจสอบโหมดในการตรวจสอบโหมด (Quirks vs. Standard) ที่มีเบราว์เซอร์อยู่

บน Firefox ใช้คำสั่งดู / หน้าข้อมูล (และดูบานหน้าต่างทั่วไป); หรือถ้าคุณมี Web Developer Extension เพียงแค่ตรวจสอบไอคอนในแถบเครื่องมือ (ไอคอนที่สามจากด้านขวา)

สำหรับ IE ให้พิมพ์ javascript: alert (document.compatMode) ในแถบที่อยู่และตรวจสอบว่าหน้าต่างป๊อปอัพระบุ CSS1Compat (ระบุโหมดมาตรฐาน) หรือ BackCompat (ระบุโหมด Quirks) หรือไม่ หรือดาวน์โหลดและติดตั้ง Quirks อย่างง่ายหรือ Bookmarklet โหมดมาตรฐาน

เป็นที่น่าสังเกตว่าเบราว์เซอร์จำนวนมากมีสองโหมดนอกเหนือจากโหมดนิสัยใจคอ - เกือบเป็นโหมดมาตรฐานและโหมดมาตรฐาน แต่น่าเสียดายที่ IE6 และ IE7 ทำงานเฉพาะในโหมดมาตรฐานและเกือบดังนั้นหากคุณต้องการที่จะสนับสนุนเบราว์เซอร์เหล่านี้ก็เป็นที่ดึงดูดให้ลองใช้โหมดมาตรฐานเกือบจะอยู่ในเบราว์เซอร์ อย่างไรก็ตามมันอาจจะดีกว่าที่จะพัฒนากับมาตรฐานแล้วลองแก้ไขนิสัยใจคอของเบราว์เซอร์ HTML5 จะเสนอโหมดเข้มงวดเท่านั้นดังนั้นคุณควรพยายามพัฒนาต่อไปเพื่อความเข้ากันได้ในอนาคต


2

ตามที่ @ txwikinger กล่าวว่าquirksmodeเป็นเว็บไซต์ให้ดูที่นี่

ข้อมูลเพิ่มเติมที่ควรได้รับการช่วยเหลือเท่านั้นคือบทความนี้เกี่ยวกับวิธีการตรวจหาโหมดที่เบราว์เซอร์ของคุณใช้ในหน้าบางหน้า: การตรวจจับโหมดความเข้ากันได้ นอกจากนี้ยังมีส่วนขยายเบราว์เซอร์ที่สามารถทำเช่นนี้เช่นWeb Developer Toolbar มีเวอร์ชันสำหรับ FF และ Chrome


2

ฉันได้พบว่าถ้าคุณใช้การรีเซ็ต CSS หรือเฟรมเวิร์กหากคุณไม่ได้รวมประเภทการทำงานเพื่อเปลี่ยนเบราว์เซอร์ที่ได้รับผลกระทบ (โดยปกติคือ IE7 และ IE8) ในโหมดมาตรฐานสิ่งต่าง ๆ มากมายตำแหน่งเริ่มผิด เป็นการดีที่สุดที่จะตั้งค่าการประกาศ doctype และใช้โหมดมาตรฐาน


1

โหมด Quirks เป็นที่ที่เบราว์เซอร์ไม่แสดงผลหน้าเว็บตามที่คาดไว้ตามข้อมูลจำเพาะ HTML เมื่อถึงจุดหนึ่งเว็บเบราว์เซอร์จะได้รับสิ่งที่เป็นสวิตช์ - การรวมของประเภทเอกสารที่ด้านบนของหน้า เบราว์เซอร์จะเข้าสู่โหมด quirks การปรากฏตัวของประเภทเอกสารที่ถูกต้องบังคับให้เบราว์เซอร์เข้าสู่โหมดมาตรฐานโหมด "ถูกต้อง"

มันจะดีกว่าที่จะใช้โหมดมาตรฐาน - ดังนั้นใช้ doctype! - สำหรับการดำเนินการต่อเนื่องจากมั่นใจว่าหน้าเว็บของคุณจะทำงานอย่างถูกต้องและสม่ำเสมอในเบราว์เซอร์จำนวนมากที่สุดเท่าที่จะทำได้


1

โหมด Quirks ทำให้ IE 6 และ 7 แสดง CSS แตกต่างจากมาตรฐานที่ควรบอก

โหมดมาตรฐานทำให้ IE 6 & 7 แสดง CSS ใกล้เคียงกับมาตรฐานมากกว่าโหมด Quirks และใกล้เคียงกับวิธีการของ Firefox, Safari, Chrome, Opera, และ IE 8/9

การใช้โหมดมาตรฐานหมายความว่าคุณมีปัญหา IE เก่า ๆ ที่น่าจดจำอยู่ในหัวของคุณเมื่อคุณพยายามทำให้หน้าเว็บที่ทำงานผิดเพี้ยน หมายความว่าคุณสามารถใช้หนังสืออย่าง CSS: The Definitive Guide โดย Eric Meyer เพื่อค้นหาว่าหน้าของคุณควรทำอะไร โหมด Quirks ของ IE ไม่มีเอกสารที่ครอบคลุมประเภทเดียวกัน


1

มันเป็นทางเลือกระหว่าง:

  • เอนจิ้น IE5 (หรือการจำลองข้อผิดพลาดของข้อบกพร่อง)
  • บางสิ่งบางอย่างที่ทันสมัยมากขึ้น (ความพยายามที่ดีที่สุดในไม่ใช่ IE เรื่องยาวใน IE8 …)

ถ้าคุณชอบที่จะเขียน CSS เหมือนปี 1999 โดยไม่อยู่ตรงกลางทำงานอย่างถูกต้องแล้วใช้นิสัยใจคอ

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