ฉันเล่นกับแนวคิดของการสลับไปใช้ html5 ดูเหมือนว่ามี 2 สคริปต์หลักสำหรับจัดการกับการสนับสนุน html5 บนเบราว์เซอร์รุ่นเก่า
Modernizr และ Html5Shiv
ฉันสงสัยว่าพวกเขาทำสิ่งเดียวกันหรือไม่ เลือกแบบไหนและทำไม
ความคิดใด ๆ
ฉันเล่นกับแนวคิดของการสลับไปใช้ html5 ดูเหมือนว่ามี 2 สคริปต์หลักสำหรับจัดการกับการสนับสนุน html5 บนเบราว์เซอร์รุ่นเก่า
Modernizr และ Html5Shiv
ฉันสงสัยว่าพวกเขาทำสิ่งเดียวกันหรือไม่ เลือกแบบไหนและทำไม
ความคิดใด ๆ
คำตอบ:
Modernizr ใช้เพื่อตรวจสอบความพร้อมของฟีเจอร์ HTML5 ในเอนจิ้นการแสดงผลที่แตกต่างกัน มันมีสคริปต์เช่น Html5Shiv ซึ่ง (เท่านั้น) เปิดใช้งานแท็ก HTML5 บน Microsoft Internet Explorer (ก่อนหน้าเวอร์ชัน 9 ซึ่งรู้จัก HTML5) ดูเพิ่มเติม"วิธีการที่จะได้รับ HTML5 ทำงานใน IE และ Firefox 2"
หากคุณเพียงต้องการเปิดใช้งาน HTML5 สำหรับ IE <9 ดังนั้น Html5Shiv จะเพียงพอ ฉันใช้รุ่น Html5Shiv โดย Remy Sharpภายในความคิดเห็นตามเงื่อนไขของ MS:
<!--[if lte IE 8]>
<script src="templates/js/html5.js"></script>
<![endif]-->
หากคุณยังต้องการที่จะตรวจสอบ (ผ่าน CSS หรือ JS) หากเบราว์เซอร์ของลูกค้าคือความสามารถในการเช่นHTML5 ฟอร์มองค์ประกอบ (เช่นโอเปร่าวันที่ป้อนข้อมูล) คอลัมน์ CSS3 หรือการไล่ระดับสีแล้วใช้Modernizr
คุณอาจต้องการลองhtml5boilerplate.comซึ่งเป็นแหล่งข้อมูลที่ดีสำหรับการเริ่มต้นกับไซต์ html5 พวกเขามีตัวเลือกที่สลับได้เช่น html5 shiv หรือ modernizr พร้อมกับการปรับปรุงพื้นฐานอื่น ๆ อีกมากมาย
ฉันรู้ว่าสิ่งนี้มาจากเมื่อก่อน แต่ฉันรู้สึกว่าฉันควรจะเพิ่มว่า modernizr ไม่ปรากฏในองค์ประกอบ polyfill HTML5 ที่โหลดผ่าน AJAX - มันใช้ได้เฉพาะกับเนื้อหาที่มีอยู่ในการโหลดหน้าแรก Html5Shiv ทำงานกับเนื้อหาที่โหลดผ่าน AJAX แต่ยังเป็นเพียงชุดย่อยของชุดคุณสมบัติของ modernizr เรากำลังใช้ทั้งบนเว็บแอพที่ฉันกำลังทำงานอยู่