HTML5shiv बनाम डीन एडवर्ड्स IE7-js vs Modernizr - कौन सा चुनना है?


113

मैं अपनी पहली HTML5 साइट बनाना चाह रहा हूं और IE के साथ काम करना चाह रहा हूं।

Html5shiv, डीन एडवर्ड्स यानी 7-js और उसके बाद Modernizr है। क्या ये सब काफी हद तक एक जैसे हैं? मैं असमंजस में हूँ कि किस मार्ग से जाऊँ।


1
+10 एक बढ़िया सवाल के लिए अच्छी तरह से रखा।
स्नेक

जवाबों:


124

नहीं, वे समान नहीं हैं; वे पूरी तरह से अलग चीजें करते हैं।

  • html5shiv आपको IE के संस्करणों में नए HTML5 टैग्स का उपयोग करने की अनुमति देता है जो उन्हें समझ में नहीं आते हैं। इसके बिना, IE इन टैगों पर झूमेगा, इसलिए यदि आपको टैग का उपयोग करने का इरादा है, तो आपको इसकी आवश्यकता है। हालांकि यह वास्तव में IE में कुछ भी करने के लिए टैग बनाने की उम्मीद नहीं है! यह केवल उनके बारे में शिकायत करने वाले ब्राउज़र को रोक देता है।

  • आधुनिकीकरण आपके HTML में उपलब्ध सुविधाओं के आधार पर कक्षाओं का एक समूह सेट करता है, जिसका उपयोग आप ब्राउज़र के समर्थन के अनुसार अपने लेआउट को बदलने के लिए कर सकते हैं। यह आपको HTML5shiv की तरह IE में नए HTML5 टैग का उपयोग करने की भी अनुमति देता है

  • ie7.js (और साथ ही ie8.jsऔर ie9.js) करने के लिए जावास्क्रिप्ट का उपयोग करता है IE के लिए कुछ याद आ रही कार्यक्षमता रेट्रो-फिट।

जहां तक ​​मुझे पता है कि उनके बीच (html5shiv / modernizr से अलग) कोई क्रॉस-ओवर नहीं है, इसलिए आप उनमें से किसी भी संयोजन का उपयोग कर सकते हैं, जो इस बात पर निर्भर करता है कि आपको किन विशेषताओं को लागू करने की आवश्यकता है।

जब मैं इस विषय पर हूं, और जब से आप IE को अन्य ब्राउज़रों के साथ अधिक सुसंगत बनाने के लिए उपकरणों के बारे में पूछ रहे हैं, तो मेरा सुझाव है कि आप CSS3Pie पर भी ध्यान दें , जिससे यदि आप अपनी साइट पर गोल कोनों का उपयोग करने की योजना बनाते हैं, तो आपका जीवन बहुत खुश हो जाएगा। (प्लस एक या दो अन्य विशेषताएं)।

यह भी आपके द्वारा उल्लिखित अन्य तीन उत्पादों के साथ कोई क्रॉस-ओवर नहीं है, हालांकि वे IE के पुराने संस्करणों को बनाने के लिए काम करना आसान बनाते हैं।


मैं जिस उत्तर की तलाश कर रहा था। धन्यवाद :)
पॉलएम

64
Modernizr में अनिवार्य रूप से संपूर्ण html5shiv शामिल है।
पॉल आयरिश

शानदार अवलोकन। निश्चित रूप से मुझे भी कुछ दिशा दी। धन्यवाद!
22

2
@RoyiNamir - Modernizr HTML में कक्षाएं लगाता है। यह स्वयं उन वर्गों के साथ और कुछ नहीं करता है, लेकिन आप उन वर्गों को संदर्भित करने और अपनी इच्छानुसार जो कुछ भी करना चाहते हैं, उसी तरह अन्य जेएस परिवाद या सीएसएस का उपयोग कर सकते हैं, ठीक उसी तरह जैसे आप अपने HTML कोड में किसी अन्य वर्ग के लिए करते हैं। एक उदाहरण: आप placeholderअपने इनपुट टैग में उपयोग करना चाहते हैं । लेकिन पुराना IE इसका समर्थन नहीं करता है। आधुनिकीकरण no-placeholderIE में एक वर्ग जोड़ देगा ; आप जावास्क्रिप्ट कोड लिख सकते हैं जो इस वर्ग को संदर्भित करता है ताकि आप प्लेसहोल्डर सुविधा की नकल करने के लिए एक स्क्रिप्ट को लागू कर सकें, बिना ब्राउज़रों के इसे चलाने की आवश्यकता नहीं है। आशा है कि इसे समझाता है
स्पडली

1
IE9.jsसब कुछ html5shiv भी करता है।
फिल

12

एक नया एचटीएमएल 5 प्रोजेक्ट शुरू करने का सबसे आसान तरीका इनिशिरल का उपयोग करना है । यह आपके HTML5 प्रोजेक्ट फ़ाइलों को डाउनलोड करने और निर्माण करने देगा।


5

वे कुछ हद तक समान हैं, और जाने का तरीका एटीएम के रूप में अच्छा है या तो अनुमान है, और रिकॉर्ड के लिए, वहाँ एक है जो आप चूक गए, http://html5boilerplate.com/ यह कुछ साल पहले की तरह है जब प्रोटोटाइप और jQuery एक ही स्थान पर लड़ रहे थे। मुझे व्यक्तिगत रूप से खतरा होगा कि jQuery ने जीत हासिल की, लेकिन अभी तक कोई भी नहीं बता रहा है कि इनमें से कौन इस विशेष लड़ाई को जीतेगा। मुझे नहीं लगता कि मैं डीन एडवर्ड्स यानी 7-जेएस की सिफारिश कर सकता हूं क्योंकि यह ज्यादातर IE7 प्राप्त करने के साथ ही अन्य अधिक बुद्धिमान और इसी तरह के ब्राउज़रों की तरह काम करने के साथ-साथ पूरे एचटीएमएल 5 चीज़ का लाभ उठाने का विरोध करता है जितना कि अन्य फ्रेमवर्क।


2
बॉयलरप्लेट का उल्लेख करने के लिए धन्यवाद। मैं इसे अपने प्रश्न में शामिल करने जा रहा था, लेकिन मैं चाहता था कि यह मेरे प्रश्न में 3 वस्तुओं के लिए विशिष्ट हो, क्योंकि मॉडेनाइज़र बॉयलरप्लेट में शामिल है।
पॉलएम

1
आप गलत हैं कि HTML5boilerplate क्या है, html5boilerplate एक पैकेज है, जिसमें आपको एक वेब परियोजना शुरू करने की आवश्यकता है, जैसे कि initializr, html5boilerplate के पुराने संस्करणों में कुछ बिंदु पर और शायद अब भी, यह आपको समझाएगा कि आपको modernizr या html5shiv का उपयोग करना चाहिए और दोनों का उपयोग न करें, जैसा कि आधुनिकीकरण करता है, जिसे आपको ज़रूरत है, आपको अपने उत्पादन वातावरण के लिए एक कस्टम मॉर्डनिज़्र को भी डाउनलोड करना चाहिए और केवल उसी चीज़ का उपयोग करना चाहिए, यदि आप कक्षाओं को आधुनिक बनाने के लिए उपयोग नहीं करने जा रहे हैं तो आपको html5shiv से चिपके रहना चाहिए!
नियो

html5boilerplate ने नाटकीय रूप से बदल दिया है क्योंकि यह प्रश्न 2010 और अब में पूछा गया था। यह तब किया गया था, जो तब पूछे गए सवाल में था, एचटीएमएल 5 परियोजना शुरू करने के लिए आपको जो कुछ भी चाहिए था, उसे बंडल कर दिया। मूल प्रश्न था 'मैं अपना पहला एचटीएमएल 5 बनाने जा रहा हूं।' मुझे अभी भी विश्वास है कि html5boilerplate उस समय पूछे गए प्रश्न के लिए एक स्वीकार्य वैकल्पिक विकल्प था, जो उसने पूछा था।
फादर स्टॉर्म
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.