क्या आपको HTML में मेटा और लिंक टैग बंद करने की आवश्यकता है?


133

मैं सिर्फ किसी के HTML को पढ़ रहा था जिसने HTML हेड सेक्शन में मेटा और लिंक टैग को कभी बंद नहीं किया। कोड ठीक काम किया; क्या ये टैग वैकल्पिक है?

मुझे लगा कि अगर कोई टैग बंद नहीं हुआ तो यह विकृत हो जाएगा।

जवाबों:


167

एक टैग हमेशा टैग क्लोज सिंबल द्वारा बंद होना चाहिए> (यदि हम कुछ एसजीएमएल नियमों को अनदेखा करते हैं जो नॉन-एक्सएचटीएमएल एचटीएमएल में नाममात्र रूप से लागू होते हैं लेकिन कभी भी ब्राउज़रों में लागू नहीं होते हैं)।

आपके कहने का मतलब यह है कि क्या तत्वों को अंतिम टैग द्वारा बंद करने की आवश्यकता है। इसका उत्तर यह है कि गैर- XHTML HTML (HTML क्रमांकन में HTML5 सहित), metaऔर linkतत्वों के लिए कोई अंतिम टैग आवश्यक या अनुमति नहीं है । व्यवहार में, हालांकि, ब्राउज़र केवल उनके लिए स्पष्ट अंत टैग को अनदेखा करते हैं, साथ ही कार्गो-पंथ /से पहले >, यदि आप उनका उपयोग करते हैं। और HTML5 इस अनुमति /को एचटीएमएल क्रमांकन में भी औपचारिक रूप से अनुमति देकर एक नियम बनाता है।

एक्सएचटीएमएल में, एक्सएमएल नियम लागू होते हैं, इसलिए हर तत्व, बिना किसी अपवाद के, दोनों में एक स्टार्ट टैग और एक अंतिम टैग होना चाहिए, लेकिन तत्व सामग्री खाली होने पर दोनों ही भूमिकाओं के लिए एक ही टैग का उपयोग किया जा सकता है, जैसे <meta name="foo" content="bar"/>कि इसके लिए कम<meta name="foo" content="bar"></meta> । यदि आप किसी XML ब्राउज़र (XHTML) सामग्री के साथ किसी अनुरूप ब्राउज़र में दस्तावेज़ की सेवा करते समय इसका उल्लंघन करते हैं, तो आपका दस्तावेज़ बिल्कुल प्रदर्शित नहीं होता है; इसके बजाय एक त्रुटि संदेश दिखाया गया है।

HTML सामग्री प्रकार ( Content-Type: text/html) के साथ XHTML सर्वर का उपयोग करते समय , चूंकि XHTML दस्तावेज़ लगभग हमेशा वेब पर होते हैं, फिर ब्राउज़र वास्तव में गैर- XHTML HTML नियम लागू करेंगे।

संक्षेप में:

  • आम तौर पर, <meta ...>नहीं के साथ उपयोग करें/
  • यदि आप वास्तव में एक्सएचटीएमएल का उपयोग उस संदर्भ में कर रहे हैं जहां एक्सएचटीएमएल पार्सिंग वास्तव में लागू है, तो एक्सएमएल नियमों द्वारा खेलें (और सुनिश्चित करें कि आप जानते हैं)
  • यदि आपका बॉस आपको लिखने के लिए कहता है <meta ... />, तो ऐसा करें; यह उपयोगी नहीं है, लेकिन इससे कोई नुकसान नहीं होता है (सिवाय अगर आप HTML 4.01 सिद्धांत के खिलाफ उदाहरण के लिए मान्य करने का प्रयास करते हैं)।

3
Google बॉट मेटा टैग्स को मान्यता नहीं देने के कारण /> एक समस्या का उपयोग कर रहा था। अजीब!!!
देवजेर ०१

13
मुझे इस संदर्भ में "कार्गो-पंथ" शब्द अनुचित लगा। कुछ लोग उन तत्वों को बंद कर देते हैं, केवल इसलिए कि वे दमन करते हैं कि एक्सएचटीएमएल प्रबल नहीं हुआ था।
मार्कस

6
पेडेंट अलर्ट! "कार्गो पंथ" सामान्य अभ्यास में हाइफ़न नहीं किया जाता है, लेकिन केवल जब पूरे वाक्यांश का उपयोग किसी और चीज़ के विशेषण के रूप में किया जाता है (यानी, "कार्गो-पंथ प्रोग्रामिंग", "कार्गो-पंथ /से पहले >")। बस मैंने सोचा कि मैं अधिक भ्रम के साथ इंटरनेट को खराब करने से बचने के लिए स्पष्ट करूंगा। </pedant_alert>:)
हारून Wallentine

1
@ DevZer0 - क्या आप सुनिश्चित हैं कि स्लैश इसका कारण था? मुझे उम्मीद है कि Google जैसी चीजों के साथ लचीला होगा।
साइमन ईस्ट

3
क्या आपका HTML XHTML नियमों के अनुरूप नहीं है / / से पहले शामिल करने का एक कारण है?
काइल डेलाने

28

यह सिद्धांत पर निर्भर करता है। HTML5 को समापन की आवश्यकता नहीं है। XHTML करता है।

HTML5 में, तथाकथित शून्य तत्व (ऐसे तत्व जिनकी सामग्री नहीं हो सकती है) को समापन की आवश्यकता नहीं है, क्योंकि वे स्वयं-समापन हैं। लेकिन यह अभी भी मान्य है यदि आप उन्हें बंद करते हैं ..

इसके बारे में यहाँ और पढ़ें: शून्य-तत्व


4
एचटीएमएल 5 में दो क्रमबद्धताएं हैं, और उनमें से एक (एक्सएचटीएमएल क्रमांकन) अंतिम टैग को अनिवार्य बनाता है।
जुक्का के। कोर्पेला
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.