ทำไมมันไม่สมจริงที่จะคาดหวังว่าเบราว์เซอร์ทั้งหมดเพื่อรองรับมาตรฐานเดียวกัน? [ปิด]


12

ตามหลักแล้วเราจะมีเบราว์เซอร์ต่าง ๆ ที่สนับสนุนมาตรฐานเดียวกันและรหัสเดียวกันที่ให้ผลลัพธ์เหมือนกันกับเบราว์เซอร์ทั้งหมด

นั่นยังไม่เกิดขึ้น อะไรคือเหตุผลว่าทำไม


1
"รหัสเดียวกันก่อให้เกิดผลลัพธ์เดียวกันในทุกเบราว์เซอร์" - นั่นไม่ใช่สิ่งที่เป็นมาตรฐานสำหรับ "รหัสเดียวกันใช้งานได้กับทุกเบราว์เซอร์" ใกล้เคียง
tdammers

1
ฉันถามคำถามนี้มานานหลายปีแล้ว
billy.bob

1
น่าเสียดายที่ไม่มี ... ฉันเคยหวังมานานแล้ว
Corv1nus

gopherเพียงครั้งเดียวเว็บที่เรารู้ว่ามันเป็นเรื่องเป็นตายเป็น
dmckee --- อดีตผู้ดูแลลูกแมว

เพราะ W3C เป็นองค์กรที่ดำเนินไปอย่างน่าหวาดเสียวที่ไม่สามารถก้าวทันเทคโนโลยีได้ นั่นมันสวยมาก
จอร์แดน

คำตอบ:


18

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

โจเอลได้เขียนบทความที่ดีในเรื่องนี้เรียกว่าดาวอังคารหูฟัง

ฉันคิดว่าฉันจะพูดกับเขาที่นี่เพราะนี่เป็นคำอธิบายที่ดีที่สุดว่าทำไมเราจะไม่เห็นสิ่งนี้ตราบใดที่ผู้ขายต่าง ๆ มีส่วนร่วม:

เอกสารเหล่านั้นสับสนอย่างยิ่ง รายละเอียดเต็มไปด้วยข้อความเช่น“ หากกล่องบล็อกพี่น้อง (ที่ไม่ลอยและไม่ได้อยู่ในตำแหน่งที่แน่นอน) ตามหลังกล่องเรียกใช้กล่องเรียกใช้จะกลายเป็นกล่องแบบอินไลน์แรกของกล่องบล็อก การเรียกใช้ในไม่สามารถเรียกใช้ในบล็อกที่เริ่มต้นด้วยการเรียกใช้แล้วหรือว่าตัวเองเป็นการเรียกใช้ใน” เมื่อใดก็ตามที่ฉันอ่านสิ่งต่าง ๆ เช่นนั้นฉันสงสัยว่าใครถูกต้องตามข้อกำหนด

นอกจากนี้ยังมีการแข่งขันและวิวัฒนาการในตลาด ยกตัวอย่างเช่นการเติมข้อความอัตโนมัติ เบราว์เซอร์หลักทุกตัวมีอยู่แล้ว แต่ไม่มีมาตรฐานที่กำหนดไว้ W3C นั้นช้าเกินไปและตามเวลาที่มาตรฐานมาถึงมีการใช้งานที่แตกต่างกัน 5 แบบที่มีพฤติกรรมที่แตกต่างออกไปในป่าที่คุณต้องการให้การสนับสนุนเช่นกันหากคุณต้องการแข่งขัน อีกตัวอย่างที่สำคัญสำหรับปัญหานี้คือการฝังวิดีโอ

ที่กล่าวว่า: ตราบใดที่คุณต้องการสนับสนุนเบราว์เซอร์และสภาพแวดล้อมที่แตกต่างกันให้เตรียมพร้อมที่จะทำการปรับเปลี่ยน


11

ไม่เพราะ W3C ในข้อกำหนดจำนวนมากให้ความรับผิดชอบในการใช้งานบางส่วนกับผู้ใช้งาน UA (ผู้ติดตั้งเบราว์เซอร์) ทำไมฉันถึงพูดแบบนั้นเพราะฉันมักจะเขียนบทความของฉันโดยตรงจากข้อกำหนด W3C และดูกรณีเหล่านี้ ตัวอย่างเช่น W3C บอกว่าเบราว์เซอร์ควรรับความยินยอมจากผู้ใช้เกี่ยวกับการแชร์ตำแหน่งของพวกเขา (ผ่านGeolocation API ) แต่มันไม่ได้บอกว่าพวกเขาควรถามมันอย่างไร สิ่งนี้อาจส่งผลให้ข้อความประเภทต่างๆที่แสดงแตกต่างกัน (ป๊อปอัพสไลด์ลง ฯลฯ ) ในเบราว์เซอร์ที่แตกต่างกัน

โดยทั่วไปเราสามารถพูดได้ว่า:

ตราบใดที่มีบางฝ่ายการดำเนินงานความต้องการสอดคล้องระหว่างเบราว์เซอร์จะยากที่จะประสบความสำเร็จ

เราจะเห็นเฉพาะเบราว์เซอร์ที่สอดคล้องกันเมื่อ W3C imperativelyบอกผู้พัฒนาเบราว์เซอร์จะทำอย่างไร


Good one, Saeed =) +1
Falcon

ขอบคุณ @ เหยี่ยว นี่เป็นคำถามที่สองของฉัน อย่างไรก็ตามสิ่งนั้นได้รับการโหวตมากมายและถูกลบ: D ฉันคิดว่าเราทุกคนรู้ดีว่า IE เป็นเบราว์เซอร์ที่ไม่ได้มาตรฐานที่สุด
Saeed Neamati

7

จะไม่เกิดขึ้นในรูปแบบที่คุณอธิบาย

อย่างไรก็ตาม; หากคุณใช้รหัสอย่างระมัดระวังจะไม่ใช้เวลามากในการเขียนรหัสที่ทำงานได้อย่างน่าเชื่อถือและคาดการณ์ได้ในเบราว์เซอร์ใหม่ทั้งหมด เราได้ดำเนินการมานานกว่าทศวรรษที่ผ่านมา - แม้ในปัจจุบัน IE จะใช้ชุดย่อยขนาดใหญ่ของคำแนะนำ W3C อย่างถูกต้องเพียงพอที่จะสร้างเว็บไซต์ที่ไม่เชื่อเรื่องเบราว์เซอร์

แน่นอนถ้าคุณต้องการทำสิ่งที่ไม่ได้อยู่ในคำแนะนำหรือใช้คุณสมบัติที่ระบุไว้อย่างคลุมเครือหรือยังคงใช้งานไม่ถูกต้อง (หรือไม่เลย) คุณก็ต้องทำเอง


1

มันไม่น่าจะเกิดขึ้นเร็ว ๆ นี้ในความเป็นจริงฉันจะบอกว่าเมื่อมันเกิดขึ้นมันเป็นสัญญาณที่แข็งแกร่งที่โลกได้ก้าวไปและไม่สนใจเว็บเบราว์เซอร์อีกต่อไป .

ปัญหาค่อนข้างง่าย: ข้อ จำกัด ส่วนใหญ่ในการเขียนมาตรฐานใหม่สำหรับสิ่งที่น่าสนใจยิ่งกว่าที่เบราว์เซอร์สามารถทำได้คือการขาดการปฏิบัติตามมาตรฐานที่เหมาะสม เมื่อดูจากทิศทางที่แตกต่างกันเล็กน้อยเบราว์เซอร์นาทีสอดคล้องกับมาตรฐานที่มีอยู่ (หรือใกล้เคียงกับการเข้ากันได้อย่างสมเหตุสมผล ) มันเกือบจะแน่ใจว่าอย่างน้อยคนสองสามคนจะเริ่มคิดว่า "แต่มันจะไม่เจ๋งถ้าเรา ทำได้ ... "และจากนั้นพวกเขาจะทำหนึ่งในสองสิ่ง: พวกเขาจะใช้ความคิดของตนในเบราว์เซอร์เดียวและจากนั้นทำงานเพื่อทำให้ความคิดของพวกเขาเป็นมาตรฐาน (เกือบจะหลีกเลี่ยงไม่ได้ก่อนที่เบราว์เซอร์อื่นจะใช้งาน) ทำงานในการเขียนมาตรฐานสำหรับพฤติกรรมนั้นแม้ว่าจะไม่มีเบราว์เซอร์ที่ใช้งาน

บรรทัดล่างคือการนำมาตรฐานไปใช้กับเบราว์เซอร์แทบจะช้ากว่าการประดิษฐ์มาตรฐานใหม่ที่จะต้องปฏิบัติตามอย่างหลีกเลี่ยงไม่ได้ วิธีเดียวที่เบราว์เซอร์สามารถติดตามทั้งหมดคือถ้าผู้คนเลิกเขียน / ออกแบบสิ่งใหม่ ๆ เพื่อให้เบราว์เซอร์ทำ

ในเวลาเดียวกันฉันรู้สึกว่าต้องชี้ให้เห็นว่าการย้อนกลับไม่มากก็น้อยจริง: นี่เป็นชุดมาตรฐานที่เติบโตขึ้นเรื่อย ๆ เมื่อไม่นานมานี้คะแนนที่ดีที่สุดที่เบราว์เซอร์ได้รับจากการทดสอบ Acid3 คือ 93/100 มันเกิดขึ้นนั่นเป็นคะแนนเดียวกับที่ IE ได้รับ ...


0

ตามหลักแล้วเราจะมีเบราว์เซอร์ต่าง ๆ ที่สนับสนุนมาตรฐานเดียวกันและรหัสเดียวกันที่ให้ผลลัพธ์เหมือนกันกับเบราว์เซอร์ทั้งหมด

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

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