IE 8 มันมากับเรื่องปวดหัว
จากการทดสอบทำให้ผมรู้ว่า ถึงเว็บผมจะผ่าน W3C แต่มันไม่ผ่าน IE8 ครับ แค่ tag ผิด เพียงตัวเดียว มันทำให้เว็บผมล่มซะงั้น ผมลองทดสอบดูมันมีปัญหากับทั้ง CSS และ XHTML เลยครับ เขียนผิดแค่บรรทัดเดียวจริงๆ
ความจริงสิ่งที่เขียนมันก็ไม่ได้ผิดในสายตาของ W3C หรอกครับ แต่อาจเป็นเพราะ IE 8 มันทำมาตรฐานไว้สูงปรี๊ด เลยไม่สามารถละเลยข้อผิกพลาดเล็กๆน้อยๆได้
สำหรับปัญหาที่ผมเจอ มีดังนี้ครับ
1. tag ต่างๆต้องให้ถูกต้องตามมาตรฐานของ XHTML เท่านั้น
2. CSS ต้องเป็นมาตรฐาน 2.1 ขึ้นไป คำสั่งบางคำสั่งอาจใช้ยากขึ้น จนถึงขั้นใช้ไม่ได้ เช่น ผมไม่สามารถใช้ width 100% กับบาง element ได้ ต้องใช้เป็น px ร่วมกับ float (ยังมีอีกหลายอัน)
3. ไม่สามารถใช้ภาษาไทยกับลิงค์หรือ input ได้ อันนี้เพิ่งเจอหมาดๆ พอเปลี่ยนเป็นภาษาอังกฤษก็ปกติครับ (สามารถแก้ไขได้โดยการใส่ กำกับครับ)
<a href="?"> ทดสอบ </a>
หรือ
<input type="submit" name="submit" value=" ตกลง " />
ทั้ง 3 กรณี ผมไม่ทราบสาเหตุที่แท้จริง แต่ก็นำมาเล่าสู่กันฟังครับ เผื่อมีใครเจอเหมือนผม ถ้าผมถึงบางอ้อเมื่อไร ผมจะมาแก้ไขให้ทราบกันครับ
การแก้ไข มี 1 วิธีหลัก 2 วิธีรองครับ
วิธีหลักคือ แก้ไขโค้ดให้ตรงตามมาตรฐาน 100% ครับ (555+++ แค่ W3C***ยังไม่ผ่านเลย)
อีก 2 วิธีเป็นกำปั้นทุบดินคือ
1. ใน IE 8 สามารถปรับโหมดไปเป็น IE 7 ได้ครับ ที่ปุ่ม "Emulate IE7" คลิกแล้วก็ Restart(IE) ก็ใช้งานได้ตามปกติแล้วครับ
2.กำหนด Document Compatibility ให้กับเพจมันซะเลย
<html>
<head>
<!-- Use IE7 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>My Web Page</title>
</head>
<body>
<p>Content goes here.</p>
</body>
</html>
แม้แต่เว็บดังๆหลายๆเว็บก็ใช้วิธีนี้ครับ
อ้างอิง cc288325(VS.85).aspx