จาก BugTraq (จาก Slashdot อีกที) นาย Michal Zalewski ได้เขียนโค้ด HTML ขึ้นมาชุดนึง ซึ่งเป็นโค้ดที่ ‘malformed’ หรือว่าเขียนขึ้นมาอย่างผิดๆ ไม่สมบูรณ์ แล้วก็นำโค้ดชุดนี้ ไปทดสอบบนเบราเซอร์ยอดนิยมห้าตัว ได้แก่ Internet Explorer, Mozilla (รวมทั้ง Netscape และ Firefox), Opera, Lynx และ Links. เพื่อจะดูว่า เบราเซอร์เหล่านี้ จะรับมือกับ HTML เหล่านี้ได้ยังไง (เรียกได้ว่า เป็นการจำลองสถานการณ์ปกติ เพราะใน www ทุกวันนี้ เราก็จะพบเอกสาร HTML ที่เขียนขึ้นมาอย่างผิดๆ โดยรู้เท่าไม่ถึงการณ์เป็นจำนวนมากอยู่แล้ว)
ผลปรากฏว่า เบราเซอร์สี่ตัวหลัง (ทั้งหมดที่ไม่ใช่ IE) นั้น เดี้ยง ไม่สามารถแสดงผล HTML เหล่านั้นได้ หรือบางทีก็ค้างไปเลย
รายละเอียดของการทดสอบ และโค้ด สามารถดูได้จากลิงก์ข้างบน. โดยสรุปแล้ว ในกรณีของ Mozilla อาการจะเป็นในลักษณะ เรียกใช้พอยเตอร์ที่ไม่มีอยู่จริง วนลูปไม่รู้จบ และ overflow, โดยปัญหามาจาก tag ที่ใช้กันบ่อยเสียด้วย คือ TEXTAREA, INPUT, และ IMG.
แล้วรายงานฉบับนี้ก็สรุปว่า Internet Explorer นั้น มีความทนทานในเรื่องของ malformed HTML มากกว่า “เบราเซอร์ที่โฆษณาว่า ปลอดภัย” เสียอีก
คุณสมบัติเรื่อง ความทนทาน (robustness) หรือ “ฉันรับได้ทุกอย่าง” นี้ ถ้าว่าตามหลักของ software engineering แล้ว ก็ถือว่าเป็นคุณสมบัติพึงประสงค์อย่างนึงของซอฟต์แวร์ (ซอฟต์แวร์จะต้องส่งเอาท์พุตอย่างใดอย่างหนึ่งออกมา ไม่ว่าอินพุตจะเป็นอย่างไร)
เดี๋ยวก็ต้องดูกันต่อไป ว่าทาง Mozila และเบราเซอร์อื่นๆ จะรับมือเรื่องนี้ยังไง
4 responses to “Internet Explorer ‘ทน’ กว่า Mozilla และ Opera”
ลองเข้าเว็บของราชบัณฑิตดูก็ได้ครับ http://rirs3.royin.go.th/coinages/ถ้าไม่ได้ปรับแต่ง MineType ของ FireFox บน windows ให้ดี แล้วลองค้นคำศัพท์ดูก็จะได้ปรากฎการประหลาด ยังไม่ได้ส่งไปบอกเค้าให้แก้ไข หมายถึง FireFox ไม่รู้บน Linux เป็นหรือเปล่า ไม่ได้ลอง
Mozilla มันมีโหมดเรนเดอร์สองโหมดนะคือโหมด Strict กับ IE Compatabilityผมก็ไม่รู้แล้วว่าเค้าใช้อะไรเป็น default เคยอ่านตอนเค้าทะเลาะกันอยู่ไม่รู้เกี่ยวกับบั้กนี่ป่าวนะ นึกเอา
Standard mode กับ <a href="http://www.blogger.com/r?http%3A%2F%2 Fwww.mozilla.org%2Fdocs%2Fweb-developer%2Fquirks%2Fquirklist.html” target=”_blank”>Quirks mode (IE/Netscape 4.x compat)ใช้ Quirks mode เป็นค่าปริยายสำหรับ general public release ครับ(i.e. จะเอา Standard mode ต้อง build เอง)
ยังไงก็ตาม จะบอกว่าเกี่ยวกะ "IE compat" ก็ไม่น่าจะใช่ เพราะถ้า compat จริง แล้วทำไม IE ไม่เห็นเป็นไรเลยล่ะ?