2011-11-26 13 views
14

यदि मुझे केवल HTML5 टैग को पहचानने के लिए पुराने ब्राउज़र की आवश्यकता है, तो मुझे Modernizr या लोकप्रिय HTML5 shiv का उपयोग करना चाहिए? और, अगर मुझे इस HTML5 टैग को स्टाइल करने की आवश्यकता नहीं है, तो क्या मुझे ब्राउज़र को वैसे भी पहचानने की ज़रूरत है? या क्या इन टैग्स में सीएसएस जोड़ते समय केवल जरूरी है?मॉडर्निज़र बनाम एचटीएमएल शिव

धन्यवाद!

+4

सीएसएस के माध्यम से एचटीएमएल 5 टैग में शैलियों को जोड़ने के लिए आपको केवल HTML5 शिव की आवश्यकता है। इसके अलावा आधुनिकता में एचटीएमएल 5 शिव भी शामिल है, इसलिए यह सुपरसैट – Raynos

+4

है, मैं आधुनिकता को एचटीएमएल ** ** सुविधाओं ** (ऑडियो प्रारूपों, सीएसएस स्टाइल नियमों, स्थानीय भंडारण ... जैसे) का पता लगाने के लिए और अधिक नहीं जोड़ूंगा और एचटीएमएल 5 टैग समर्थन नहीं –

उत्तर

16

html5shiv मूल रूप से आईई को एचटीएमएल 5 तत्वों को पहचानने और स्टाइल करने की इजाजत देता है, जबकि Modernizr ब्रोसर द्वारा समर्थित एक ही प्लस फीचर डिटेक्शन प्रदान करता है।

तो अपने प्रश्न का उत्तर देने के लिए एचटीएमएल 5 शिव आईई में एचटीएमएल 5 टैग को पहचानने के लिए पर्याप्त होना चाहिए। (ध्यान दें कि मैं यहां आईई कहता हूं क्योंकि html5shiv लक्ष्य क्या है, यह सुनिश्चित नहीं है कि जब आप पुराने ब्राउज़र कहते हैं तो आपका क्या मतलब है)

दूसरे भाग के लिए, भले ही आप HTML5 टैग्स को स्टाइल नहीं करना चाहते हैं, तो मैं सलाह दूंगा शिव का उपयोग करने के लिए क्योंकि ब्राउज़र या तो उन्हें गलत तरीके से प्रदर्शित कर सकता है, या बिल्कुल नहीं, इसलिए सुरक्षित होना बेहतर है।

+0

ग्रेट, मैं सोच रहा था अगर शिव आवश्यक था, भले ही मैंने टैग को स्टाइल नहीं किया हो। बहुत बुरा यह केवल आईई के साथ काम करता है (जब मैंने पुराने ब्राउज़र कहा था तो मेरा मतलब फ़ायरफ़ॉक्स 1 या 2 था, या क्रोम/ओपेरा का कोई संस्करण जो एचटीएमएल 5 का समर्थन नहीं करता) – federicot

+0

इन दिनों एफएफ 1 का उपयोग करने वाले किसी को ढूंढना बहुत आम नहीं है;) – omarello

+0

आप [विकिपीडिया] (http://en.wikipedia.org/wiki/Modernizr#What_Modernizr_doesn.27t_do) में जो मैंने पढ़ा है उसके अनुसार गलत हूं। – Shimmy

11

एचटीएमएल 5 शिव छोटा है, और जब तक आपको कुछ आधुनिकता की पहचान कार्यक्षमता की आवश्यकता नहीं है, तो शिव के लिए जाएं।

फ़ाइल का आकार बहुत महत्वपूर्ण है, क्योंकि यह हमेशा HTML दस्तावेज़ के प्रमुख में होता है और पूरी तरह निष्पादित होने तक अतिरिक्त संसाधनों के डाउनलोड को अवरुद्ध करता है।

चूंकि यह केवल पुराने ब्राउज़र के लिए की जरूरत है, मैं निम्नलिखित कोड का उपयोग करें:

<!--[if lt IE 9]> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

आप html टैग का उपयोग नहीं करते निकाल सकते हैं, लेकिन तब आपको असमर्थ उपयोग फ़ाइल पर होस्ट किया जाएगा गूगल।

+0

यह _detection_ मुझे क्या प्रदान कर रहा है? मैं सिर्फ एचटीएमएल और जेएस लिखता हूं। और यह मानता है कि सभी तत्वों (एचटीएमएल 5 सहित) में शैली लागू करना है, तो आप "पहचान" से क्या मतलब रखते हैं? क्या आप उदाहरण की आपूर्ति कर सकते हैं? –

1

यदि ब्राउज़र उस विशेष सीएसएस या HTML5 सुविधाओं का समर्थन करता है तो आप वैकल्पिक फ़ाइल लोड करने के लिए वैकल्पिक रूप से आधुनिकज़र का उपयोग कर सकते हैं।

माना कि अगर ब्राउज़र CSS3 के संपत्ति के रूप में एचटीएमएल 5 तत्व के रूप में 'कैनवास' और 'fontface'

Modernizr.load({ 
test: Modernizr.fontface && Modernizr.canvas, // Test if the browser supports it or not 
yep : '/path-to/html5-css3-attributes.css', // If browser supports it, load this file 
nope: '/path-to/old-css-attributes.css' // If NOT, load this instead 
}); 

आप अपनी फ़ाइल पथ हालत में भी .js उपयोग कर सकते हैं का समर्थन नहीं करता।

संबंधित मुद्दे