HTML5shiv vs Dean Edwards IE7-js vs Modernizr - เลือกแบบไหนดี?


113

ฉันต้องการสร้างไซต์ HTML5 แรกของฉันและกำลังมองหาการทำงานกับ IE

มี html5shiv, Dean Edwards ie7-js และ Modernizr สิ่งเหล่านี้ส่วนใหญ่เหมือนกันหรือไม่? กำลังสับสนว่าจะไปทางไหนดี


1
+10 สำหรับคำถามที่ยอดเยี่ยม
Snekse

คำตอบ:


124

ไม่มันไม่เหมือนกันเลย พวกเขาทำสิ่งที่แตกต่างกันอย่างสิ้นเชิง

  • html5shivให้คุณใช้แท็ก HTML5 ใหม่ใน IE เวอร์ชันที่ไม่เข้าใจ หากไม่มี IE จะดูดแท็กเหล่านี้ดังนั้นคุณต้องใช้สิ่งนี้หากคุณต้องการใช้แท็ก อย่าคาดหวังว่ามันจะทำให้แท็กทำอะไรก็ได้ใน IE! เพียงแค่หยุดเบราว์เซอร์บ่นเกี่ยวกับพวกเขา

  • modernizrตั้งค่าคลาสต่างๆใน HTML ของคุณขึ้นอยู่กับคุณสมบัติที่มีซึ่งคุณสามารถใช้เพื่อเปลี่ยนเลย์เอาต์ของคุณตามสิ่งที่เบราว์เซอร์รองรับ นอกจากนี้ยังช่วยให้คุณใช้แท็ก HTML5 ใหม่ใน IEเช่น html5shiv

  • ie7.js (เช่นเดียวกับie8.jsและie9.js) ใช้ Javascript เพื่อปรับให้พอดีกับฟังก์ชันการทำงานบางอย่างที่ขาดหายไปของ IE

เท่าที่ฉันทราบว่าไม่มีการข้ามระหว่างกัน (นอกเหนือจาก html5shiv / modernizr) ดังนั้นคุณสามารถใช้ชุดค่าผสมใดก็ได้ขึ้นอยู่กับคุณสมบัติที่คุณต้องใช้

ในขณะที่ฉันอยู่ในหัวข้อนี้และเนื่องจากคุณกำลังถามเกี่ยวกับเครื่องมือที่จะทำให้ IE เข้ากันได้กับเบราว์เซอร์อื่น ๆ ฉันขอแนะนำให้คุณดูCSS3Pieด้วยซึ่งจะทำให้ชีวิตของคุณมีความสุขมากขึ้นหากคุณวางแผนที่จะใช้มุมโค้งมนบนไซต์ของคุณ (บวกหนึ่งหรือสองคุณสมบัติอื่น ๆ )

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


นั่นคือคำตอบที่ฉันกำลังมองหา ขอบคุณ :)
PaulM

64
Modernizr รวม html5shiv เป็นหลัก
Paul Irish

ภาพรวมที่ยอดเยี่ยม แน่นอนให้ฉันชี้แนะด้วยเช่นกัน ขอบคุณ!
ebrandell

2
@RoyiNamir - Modernizr ตั้งค่าคลาสใน HTML ตัวมันเองไม่ได้ทำอะไรกับคลาสเหล่านั้น แต่คุณสามารถใช้ JS libs หรือ CSS อื่น ๆ เพื่ออ้างอิงคลาสเหล่านั้นและทำอะไรก็ได้ที่คุณต้องการในลักษณะเดียวกับคลาสอื่น ๆ ในโค้ด HTML ของคุณ ตัวอย่าง: คุณต้องการใช้placeholderในแท็กอินพุตของคุณ แต่ IE เก่าไม่รองรับ Modernizr จะเพิ่มคลาสno-placeholderใน IE; คุณสามารถเขียนโค้ด Javascript ที่อ้างอิงคลาสนี้เพื่อให้คุณสามารถใช้สคริปต์เพื่อเลียนแบบคุณลักษณะตัวยึดตำแหน่งโดยไม่ต้องรันบนเบราว์เซอร์ที่ไม่ต้องการ หวังว่าจะอธิบายได้นะ
Spudley

1
IE9.jshtml5shiv ทำทุกอย่างเช่นกัน
Phil

12

วิธีที่ง่ายที่สุดในการเริ่มต้นโครงการใหม่ HTML5 ใช้initializr จะแนะนำและให้คุณสร้างดาวน์โหลดไฟล์โครงการ HTML5 ของคุณ


5

มันค่อนข้างเหมือนกันและวิธีที่จะไปคือ ATM เดาได้ดีทั้งสองทางและสำหรับบันทึกมีสิ่งที่คุณพลาด http://html5boilerplate.com/นี่เป็นการทำซ้ำเมื่อหลายปีก่อนเมื่อต้นแบบ และ jQuery กำลังต่อสู้ในพื้นที่เดียวกัน ฉันรู้สึกอันตรายเป็นการส่วนตัวที่ jQuery ชนะ แต่ตอนนี้ไม่มีการบอกว่าอันไหนจะชนะการต่อสู้ครั้งนี้ ฉันไม่คิดว่าฉันจะแนะนำ dean edwards ie7-js ได้เนื่องจากส่วนใหญ่เกี่ยวข้องกับการทำให้ IE7 ทำหน้าที่เหมือนเบราว์เซอร์อื่น ๆ ที่ชาญฉลาดและเป็นที่ชื่นชอบมากกว่าแทนที่จะใช้ประโยชน์จากสิ่ง HTML5 ทั้งหมดเท่า ๆ กับกรอบงานอื่น ๆ


2
ขอขอบคุณที่กล่าวถึงต้นแบบ ฉันจะรวมสิ่งนี้ไว้ในคำถามของฉัน แต่ฉันต้องการให้เจาะจงกับ 3 รายการในคำถามของฉันเนื่องจาก Modenizer รวมอยู่ในสำเร็จรูป
PaulM

1
คุณไม่ถูกต้องเกี่ยวกับสิ่งที่ html5boilerplate คือ html5boilerplate คือแพ็คเกจที่มีสิ่งที่คุณต้องใช้ในการเริ่มต้นโปรเจ็กต์เว็บเช่น initializr ในบางจุดใน html5boilerplate เวอร์ชันเก่าและแม้กระทั่งตอนนี้มันจะอธิบายว่าคุณควรใช้ modernizr หรือ html5shiv และ อย่าใช้ทั้งสองอย่างเนื่องจาก modernizr ทำในสิ่งที่คุณต้องการนอกจากนี้คุณควรดาวน์โหลด modernizr แบบกำหนดเองสำหรับสภาพแวดล้อมการผลิตของคุณและใช้เฉพาะสิ่งที่คุณต้องการหากคุณไม่ได้ใช้อุปกรณ์ของคลาส modernizr คุณควรยึดติดกับ html5shiv!
นีโอ

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