हिंदी में html तत्वों




क्या HTML5 HTML टिप्पणी के लिए मानक बदलता है? (2)

हाल ही में मैंने पाया कि संभवतः, HTML5 में टिप्पणी करने का एक नया तरीका है।

ठेठ के बजाय <!-- --> बहु लाइन टिप्पणी के बारे में मैंने पढ़ा है, मैंने सोचा कि मैंने देखा कि मेरे आईडीई ने एक नियमित <!div > टिप्पणी की। इसलिए मैंने इसका परीक्षण किया, और मेरे आश्चर्यचकित क्रोम ने उस टैग पर टिप्पणी की। इसने केवल टैग और डिव की सामग्री के बारे में ही टिप्पणी की है, इसलिए मुझे अन्य डी को बंद करने से बचने के लिए करीब <!/div> टिप्पणी करनी पड़ी।

मैंने एक और परीक्षण किया और ऐसा प्रतीत होता है कि आम तौर पर किसी भी टैग के उद्घाटन के सामने विस्मयादिबोधक चिह्न लगा दिया जाता है, यह प्रतीक < , उस टैग को टिप्पणी करता है।

क्या यह वास्तव में नया है? क्या यह बुरा अभ्यास है? यह वास्तव में बहुत सुविधाजनक है, लेकिन क्या यह अभी तक व्यावहारिक है (यदि नया नहीं है)?

अतिरिक्त विवरण संपादित करें: हालाँकि इस विशेष सिंटैक्स की एक सिंटैक्स त्रुटि या गलत व्याख्या एक अच्छा कारण है, कैसे क्रोम वास्तव में उन्हें पूर्ण टिप्पणियों के रूप में प्रस्तुत करता है?

कोड के रूप में लिखा है :

<!div displayed> some text here that is still displayed <!/div>

और फिर इसे निम्न प्रकार से प्रस्तुत किया जाता है :

<!--div displayed--> some text here that is still displayed <!--/div-->

HTML5 में टिप्पणियों के लिए कोई नया मानक नहीं है। एकमात्र मान्य टिप्पणी वाक्य रचना अभी भी <!-- --> W3C एचटीएमएल 5 की धारा 8.1.6 से :

टिप्पणियाँ चार वर्ण अनुक्रम U + 003C LESS-THAN SIGN, U + 0021 EXCLAMATION MARK, U + 002D HYPHEN-MINUS, U + 002D HYPHEN-MINUS ( <!-- ) से शुरू होनी चाहिए।

<! वाक्य रचना SGML DTD मार्कअप में उत्पन्न होती है, जो HTML5 का हिस्सा नहीं है। HTML5 में, यह टिप्पणियों, CDATA वर्गों और DOCTYPE घोषणा के लिए आरक्षित है। इसलिए कि क्या यह विकल्प बुरा अभ्यास है, इस बात पर निर्भर करता है कि क्या आप (या इससे भी बदतर, निर्भरता) अप्रचलित मार्कअप के उपयोग को बुरा व्यवहार मानते हैं।

Validator.nu आपके पास "बोगस टिप्पणी" है। - जिसका अर्थ है कि यह एक टिप्पणी की तरह व्यवहार किया जाता है, भले ही यह एक वैध टिप्पणी नहीं है। यह संभवतः पूर्व-HTML5 के साथ पिछड़ी संगतता के लिए है, जो SGML- आधारित था, और मार्कअप घोषणाएँ थीं, जिन्होंने फॉर्म <!FOO> लिया था, इसलिए मैं इसे नया नहीं कहूंगा। वे कारण जो टिप्पणियों की तरह व्यवहार किए जाते हैं, क्योंकि SGML मार्कअप घोषणाएं विशेष रूप से घोषित किए जाने के लिए नहीं थीं, लेकिन चूंकि वे HTML5 में व्यर्थ हैं (उपरोक्त अपवादों के साथ), जहां तक ​​HTML5 DOM का संबंध है वे टिप्पणियों से अधिक कुछ नहीं हैं

8.2.4 सेक्शन के भीतर निम्नलिखित कदमों से यह निष्कर्ष निकलता है, जो क्रोम अक्षर का अनुसरण करता हुआ प्रतीत होता है:

  1. 8.2.4.1 डेटा स्थिति :

    अगले इनपुट वर्ण का उपभोग करें:

    "<" (U + 003C)
    टैग ओपन स्टेट पर स्विच करें।

  2. 8.2.4.8 टैग खुली अवस्था :

    अगले इनपुट वर्ण का उपभोग करें:

    "!" (U + 0021)
    मार्कअप घोषणा खुले राज्य में स्विच करें।

  3. 8.2.4.45 मार्कअप घोषणा खुली अवस्था :

    यदि अगले दो वर्ण दोनों "-" (U + 002D) वर्ण हैं, तो उन दो पात्रों का उपभोग करें, एक टिप्पणी टोकन बनाएं जिसका डेटा खाली स्ट्रिंग है, और टिप्पणी प्रारंभ स्थिति पर स्विच करें।

    अन्यथा, यदि अगले सात वर्ण "DOCTYPE" शब्द के लिए ASCII केस-असंवेदनशील मैच हैं, तो उन वर्णों का उपभोग करें और DOCTYPE स्थिति पर स्विच करें।

    अन्यथा, यदि एक समायोजित वर्तमान नोड है और यह HTML नामस्थान में एक तत्व नहीं है और अगले सात अक्षर स्ट्रिंग के लिए एक केस-संवेदी मैच है "[CDATA [" (एक U के साथ पांच बड़े अक्षर "CDATA" 005B LEFT SQUARE BRACKET चरित्र पहले और बाद में), फिर उन वर्णों का उपभोग करें और CDATA अनुभाग स्थिति पर स्विच करें।

    अन्यथा, यह एक पार्स त्रुटि है। फर्जी टिप्पणी की स्थिति पर स्विच करें। अगला चरित्र जो उपभोग किया जाता है, यदि कोई हो, तो पहला चरित्र है जो टिप्पणी में होगा।

    ध्यान दें कि यह टिप्पणी शुरू करने के लिए स्विच करने के लिए कहता है केवल तभी राज्य का सामना करना पड़ा जब वर्णों का क्रम <!-- , अन्यथा यह एक अपमानजनक टिप्पणी है। यह दर्शाता है कि ऊपर 8.1.6 खंड में क्या कहा गया है।

  4. 8.2.4.44 बोगस टिप्पणी राज्य :

    हर पात्र को पहले ">" (U + 003E) वर्ण या फ़ाइल (EOF) के अंत तक शामिल करें, जो भी पहले आए। एक टिप्पणी टोकन का उत्सर्जन करें, जिसका डेटा उस चरित्र से शुरू होने वाले सभी वर्णों को समाहित करता है और उस चरित्र को शामिल करता है जिसके कारण राज्य मशीन फर्जी टिप्पणी वाले राज्य में स्विच करती है, और अंतिम उपभोग किए गए वर्ण (यानी वर्ण तक) से पहले चरित्र सहित। U + 003E या EOF वर्ण से ठीक पहले), लेकिन U + FFFD REPLACEMENT CHARACTER पात्रों द्वारा प्रतिस्थापित किसी भी U + 0000 NULL वर्ण के साथ। (यदि टिप्पणी फ़ाइल (ईओएफ) के अंत तक शुरू की गई थी, तो टोकन खाली है। इसी तरह, स्ट्रिंग खाली है यदि यह स्ट्रिंग " <!> " द्वारा उत्पन्न किया गया था।)

    सादे अंग्रेजी में, यह <!div displayed> में <!--div displayed--> और <!/div> में <!--/div--> , जैसा कि प्रश्न में वर्णित है।

अंतिम नोट पर, आप संभवतः Chrome के समान व्यवहार करने के लिए अन्य HTML5-अनुरूप पार्सर्स से अपेक्षा कर सकते हैं।


मुझे नहीं लगता कि यह एक अच्छी आदत है जब से <! <!DOCTYPE जैसे मार्कअप घोषणाओं के लिए खड़ा है। इस प्रकार आपको लगता है कि यह टिप्पणी की गई है (ठीक है ... ब्राउज़र इसकी व्याख्या करने की कोशिश करेगा)।

यहां तक ​​कि अगर यह प्रकट नहीं होता है, तो यह HTML कोड टिप्पणी करने के लिए सही वाक्यविन्यास नहीं लगता है।





comments