2010-06-17 18 views
7

मैं <div> रों के बजाय कुछ अर्थ [X] HTML टैग्स का प्रयोग करना चाहते हैं: <article>, <product>, <footer> आदि उनमें से कुछ पहले से ही आगामी एचटीएमएल 5 में प्रस्तुत कर रहे हैं, फिर भी , यह पूरी तरह से समर्थित नहीं है।[X] एचटीएमएल कस्टम टैग: पेशेवरों और विपक्ष

प्रस्तुत करने पर मुझे संभावित विपक्ष का सामना करना पड़ सकता है? सीएसएस, जेएस का उपयोग करना?

मुझे याद है एक है: IE6 टैग यह पता नहीं है क्लोन नहीं कर सकते।

+0

संभावित एचटीएमएल टैग का उपयोग करने के लिए संभावित डुप्लिकेट?] (Http://stackoverflow.com/questions/211394/when-to-use-custom-html-tags) –

+0

वह प्रश्न अधिक सैद्धांतिक और स्वीकार्य उत्तर है साबित करता है कि। – kolypto

उत्तर

7

निम्नलिखित जावास्क्रिप्ट फिक्स जोड़ना कस्टम एचटीएमएल 5 टैग आईई में काम करता है। वास्तव में वे कोशिश किए गए हर दूसरे ब्राउज़र में काम करते हैं। मैंने एचटीएमएल 5 का उपयोग करके अपनी वेबसाइट बनाई है, और हालांकि यह आईई 6 & 7 में बहुत अच्छा नहीं लग रहा है, यह अभी भी काम करता है। उनके अर्थ प्रकृति के कारण

<!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <style type="text/css"> .clear { zoom: 1;display: block;} </style> <![endif]--> 

HTML5 टैग का उपयोग करके आप सीएसएस का उपयोग कर नियंत्रण बढ़ा देता है: यहाँ कोड आप अपने टेम्पलेट शीर्षक में डाल दिया है। यह वास्तव में साइटों को बनाना बहुत आसान है, क्योंकि यदि आप टैग का सही ढंग से उपयोग करते हैं तो उन्हें समझना आसान होता है।

हर जगह divs का उपयोग करना ठीक है, क्योंकि यदि उनके पास उपयुक्त आईडी और कक्षाएं हैं, तो वे अभी भी अर्थपूर्ण हैं, लेकिन HTML5 टैग्स के साथ, आप पृष्ठ संरचना को बहुत तेज़ी से पहचान सकते हैं।

+0

क्या आप कृपया वर्णन कर सकते हैं कि कस्टम टैग के साथ आईईएस में ठीक से काम नहीं कर रहा है? – kolypto

+1

आईई उन स्टाइल तत्वों को नहीं बनाएगा जो इसे पहचान नहीं पाएंगे। जावास्क्रिप्ट उन मानों को डीओएम, आईआईआरसी में प्रवेश करता है, इसलिए यह काम करेगा। – Rob

+1

यह "Google फिक्स" नहीं है, HTML 5 शिव केवल Google वेबसाइट पर होस्ट किया गया है। –

1

जब तक आप ब्राउज़रों की एक बहुत ही सीमित सेट के लिए विकसित कर रहे हैं, यह एक बुरा विचार की तरह लगता है। यदि यह पुराने ब्राउज़र में बिल्कुल काम करता है, तो यह अच्छी तरह से काम नहीं करेगा; यह वर्षों तक रहेगा जब तक कि हम सभी सामान्य ब्राउज़रों से अच्छे HTML 5 समर्थन की अपेक्षा नहीं कर सकते।

2

भले ही आप जे एस का उपयोग IE 6 "पहचान" HTML5 टैग बनाने के लिए, आप अभी भी समस्या है, IE 6 के बाद से घोंसला इस तरह के टैग के लिए अनुमति नहीं दी जाएगी।

दूसरी तरफ, यदि आपका वेब पेज एप्लिकेशन-उन्मुख नहीं है, लेकिन पूरी तरह प्रस्तुति के लिए, आप स्टाइल के साथ सादे पुराने एक्सएमएल का भी उपयोग कर सकते हैं। यह पृष्ठों को बनाने के पारंपरिक तरीके से थोड़ा अलग है, लेकिन एक्सएमएल शब्दों में कोई "पुराना" या "नया" टैग नहीं है।

इस पृष्ठ को देखें - http://feeds.feedburner.com/blogspot/MKuf (Google की ब्लॉग फ़ीड) - स्टाइल किए गए एक्सएमएल के उदाहरण के रूप में। जेएस और डोम एपीआई का काम भी ठीक है।

2

यह पूरी तरह से आपके प्रश्न से बात नहीं करता है, लेकिन <product> कंप्यूटर के संबंध में अर्थपूर्ण नहीं है।

एक मानव इसे पढ़ सकता है और सोच सकता है "आह, यह एक उत्पाद होना चाहिए, जो इस शॉपिंग वेबसाइट के संदर्भ में कुछ है जो मैं खरीद सकता हूं, और इसलिए इसका मतलब यह नहीं है कि 'मात्रा को गुणा करके प्राप्त मात्रा' mathoverflow.com पर हो सकता है "। किसी भी मानव को कोड पढ़ने के लिए यह वास्तव में उपयोगी है, इसलिए यह उस अर्थ में अर्थपूर्ण है।

लेकिन जहां तक ​​एक कंप्यूटर एचटीएमएल के रूप में आपके पृष्ठ को पार्स कर रहा है (या मानव को अपना HTML पृष्ठ कोड पढ़ने के बजाय ब्राउज़र में देख रहा है), यह सिर्फ एक अज्ञात टैग है, और इस प्रकार कोई उपयोगी डिफ़ॉल्ट नहीं मिलेगा स्टाइल या व्यवहार (<a> टैग, जो क्लिक करने योग्य है यदि आप इसे एक href विशेषता देने के विपरीत) (<p> टैग है, जो चीजों को परदे पर पठनीय बनाने के लिए अच्छा मार्जिन हो जाता है के विपरीत)।

कंप्यूटर केवल एचटीएमएल 5 की तरह चश्मा के माध्यम से, अर्थ विज्ञान मिलता है, जब लोग इस बात से सहमत टैग क्या मतलब है।

+2

... और यहां तक ​​कि यदि आप उन्हें स्टाइल करते हैं, तो भी उन लोगों को छोड़ देता है जो स्टाइलशीट नहीं प्राप्त करते हैं (उदाहरण के लिए क्योंकि वे ब्रेल रीडर, स्क्रीन रीडर का उपयोग करते हैं, या एक खोज हैं इंजन) ठंड में बाहर। – Quentin

3

प्रश्न 'क्लोनिंग' का उल्लेख करता है, इसलिए आईई 6 एक कस्टम तत्व (यह कर सकता है) शैली बना सकता है या नहीं, अगर वास्तव में जेएस का उपयोग कस्टम तत्वों को क्लोन करने के लिए करना है, तो आईई 6 इसे प्रबंधित नहीं कर सकता है (जो मुझे नहीं पता)।

यदि विचार केवल कस्टम तत्वों को स्टाइल करने के लिए है तो हर ब्राउज़र इसे कर सकता है। आईई 6 की वजह से आपको अपने कस्टम तत्वों को नाम देने की आवश्यकता है < उपसर्ग: कस्टम /> और एचटीएमएल तत्व में नामस्थान निर्दिष्ट करें < एचटीएमएल xmlns: prefix = "http: // डोमेन/पथ">।

सभी ब्राउज़रों में यह बिल्कुल ठीक करने के लिए (और इसलिए जावास्क्रिप्ट कस्टम तत्वों पर उठाता है) आपको कस्टम डीटीडी भी प्रदान करने की आवश्यकता है, ताकि कस्टम तत्वों का नाम लगातार < पर काम कर सके! डॉक्टरेट एचटीएमएल सिस्टम "http: //domain/path/custom.dtd "> और फिर डीटीडी लिखें, जो दुर्भाग्य से तुच्छ नहीं है और इसे HTML डीटीडी के लिए एक पूर्ण प्रतिस्थापन शामिल करना है।

तो कस्टम डीटीडी लागू करने के बाद, एक कस्टम नेमस्पेस निर्दिष्ट करने और कस्टम तत्वों को लागू करने के बाद उन्हें किसी भी ब्राउज़र में स्टाइल किया जा सकता है, इस प्रकार < शैली> उपसर्ग \: कस्टम {पृष्ठभूमि: लाल;} </शैली>।

यह सभी ब्राउज़रों में लगातार काम करता है लेकिन मूल्य में बहस योग्य है। यह उन तत्वों के साथ लगातार सार्थक मार्कअप के उपयोग की अनुमति देता है जो नामस्थान द्वारा स्पष्ट रूप से चित्रित किए जाते हैं और कैस्केडिंग द्वारा स्टाइल के प्रदूषण का जोखिम नहीं उठाते हैं और div-itis से बचाते हैं।

हालांकि यह वेब विकास में एक जटिलता है जिसमें जटिलता शामिल है जिसे पर्याप्त रूप से पुरस्कृत नहीं किया जा सकता है।

+0

उत्सुक, धन्यवाद! हालांकि, मैंने पहले से ही विचार छोड़ दिया है :) – kolypto

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