मुझे यकीन है कि <![CDATA[...]]>
अनुभागों का उपयोग एक्सएचटीएमएल 5 में किया जा सकता है, लेकिन एचटीएमएल 5 के बारे में क्या?क्या मुझे <! [सीडीएटीए [...]]> HTML5 में उपयोग करना चाहिए?
उत्तर
CDATA
संरचना वास्तव में HTML के लिए बिल्कुल नहीं है, यह एक्सएमएल के लिए है।
लोग कभी-कभी उन्हें script
टैग के अंदर HTML में उपयोग करते हैं क्योंकि इससे कुछ विशेष वर्णों से बचने की आवश्यकता को हटा दिया जाता है। यह किसी भी तरह से एक आवश्यकता नहीं है, हालांकि (या तो HTML 4 या 5 के लिए)।
संपादित करें: यह वह जगह है जहां हम खोलने कि कि क्या आप text/html
के रूप में या application/xhtml+xml
के रूप में एक्सएचटीएमएल भेज रहे हैं जैसे आप कर रहे हैं :-) करने के लिए "माना" पर 2002 से कीड़े की वास्तव में फफूंदी वर्ष कर सकते हैं
शायद देखें:! http://wiki.whatwg.org/wiki/HTML_vs._XHTML
< [CDATA [...]] > एक एक फर्जी टिप्पणी है।
HTML में, <script>
पहले से ही सुरक्षित है - यह क्यों कभी कभी यह a = "<" + "/script>"
के रूप में लिखा जाना चाहिए, ब्राउज़र भ्रमित से बचना है। ध्यान दें कि कोड HTML में एक सीडीएटीए के बाहर मान्य है।
मुझे लगता है कि अंत टैग से बचने का सबसे अच्छा तरीका "<\/script>" है। मैंने पढ़ा है कि कुछ पार्सर्स केवल "" के लिए जांचते हैं, न कि "" – marcus
@marcus आप सही हैं और ' 'इस संदर्भ में एकमात्र विशेष टोकन है।विषय पर मेरे * नए * उत्तर सहमत हैं क्योंकि मैंने समय के साथ अपना ज्ञान अपडेट किया है ;-) मैं इसे अपडेट कर दूंगा। ऐसा कहा जा रहा है, ' scr' + 'ipt>' विभाजन होना आम बात है, और मुझे मुख्यधारा * ब्राउज़र * के बारे में पता नहीं है जहां यह काम नहीं करता है ... –
इस मुद्दे को स्पष्ट करने के लिए लगता है। लिपि और स्टाइल टैग को "कच्चे पाठ तत्व" माना जाता है। सीडीएटीए की आवश्यकता नहीं है या उनके लिए अनुमति नहीं है। सीडीएटीए का उपयोग केवल "विदेशी सामग्री" के साथ किया जाता है - यानी मैथएमएल और एसवीजी। ध्यान दें कि स्क्रिप्ट टैग में क्या हो सकता है इसके कुछ प्रतिबंध हैं - मूल रूप से आप वहां var x = '</script>'
जैसे कुछ नहीं डाल सकते हैं क्योंकि यह टैग बंद कर देगा और उसके उत्तर में वर्णित पीएसटी की तरह विभाजित होने की आवश्यकता है। http://www.w3.org/TR/html5/syntax.html#cdata-rcdata-restrictions
:
Element-specific parsing for
script
andstyle
tags, एक्सएचटीएमएल-एचटीएमएल अनुकूलता के लिए मार्गदर्शन: "एस्केपिंग साथ निम्नलिखित कोड स्क्रिप्ट सुनिश्चित कर सकते हैं और शैली तत्वों दोनों XHTML और HTML में काम करेंगे, पुराने सहित ब्राउज़रों। "
अधिकतम पश्च संगतता:
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
सरल संस्करण, एक तरह से "बहुत पुराने ब्राउज़र" के साथ असंगत:
<script>//<![CDATA[
...
//]]></script>
तो, CDATA
एचटीएमएल 5 में इस्तेमाल किया जा सकता है, और यह में अनुशंसा की जाती है एक्सएचटीएमएल-एचटीएमएल संगतता के लिए मार्गदर्शन। यह polyglot HTML/XML/XHTML pages के लिए उपयोगी है, जो विकास के दौरान XML के रूप में बनाए और पार्स किए गए हैं, लेकिन बेहतर क्रॉस-ब्राउज़र संगतता के लिए HTML5 के रूप में कार्यरत हैं। Polyglot pages has their benefits, और मैंने इसे स्वयं उपयोग किया है, क्योंकि एक्सएमएल/एक्सएचटीएमएल 5 को डीबग करना बहुत आसान है। उदाहरण के लिए, Google क्रोम अमान्य एक्सएमएल/एक्सएचटीएमएल 5 (उदाहरण के लिए character escaping) के लिए एक त्रुटि फेंक देगा, जबकि एचटीएमएल 5 के रूप में कार्य किया गया वही पेज "बस काम करेगा" उर्फ "शायद काम" करेगा।
यदि आप कुछ 20 साल पुराने ब्राउज़र का समर्थन करना चाहते हैं, तो एनएससीए मोज़ेक या नेटस्केप 1 का समर्थन करना चाहते हैं, तो एक स्क्रिप्ट टैग के भीतर टिप्पणियों की आवश्यकता होती है ... –
- 1. एचटीएमएल। क्या मुझे सीडीएटीए का उपयोग करना चाहिए या HTML
- 2. क्या मुझे HTML5 और CSS3 का उपयोग करना चाहिए?
- 3. क्या मुझे HTML <button> या <input> का उपयोग करना चाहिए?
- 4. क्या मुझे <मेटा जनरेटर> टैग शामिल करना चाहिए?
- 5. क्या मुझे boost :: ptr_vector <T> या वेक्टर <boost :: shared_ptr <T>> का उपयोग करना चाहिए?
- 6. मुझे html5 sessionStorage का उपयोग कब करना चाहिए?
- 7. क्या हमें <base href = "" /> का उपयोग करना चाहिए?
- 8. .NET 2.0 में कार्य <T> का उपयोग करने के लिए मुझे क्या करना चाहिए?
- 9. दोस्त == या << मुझे इसका उपयोग कब करना चाहिए?
- 10. मुझे IObservable <T> क्यों लागू नहीं करना चाहिए?
- 11. मुझे पर्ल में <ARGV> या <के बजाय <> का उपयोग क्यों करना चाहिए?
- 12. क्या मुझे html5 इनपुट regex पैटर्न सत्यापन में^और $ का उपयोग करना चाहिए?
- 13. क्या मुझे वेक्टर <string> हटा देना चाहिए?
- 14. अर्थपूर्ण एचटीएमएल: क्या मुझे टैग क्लाउड के लिए <nav> टैग का उपयोग करना चाहिए?
- 15. मुझे क्या करना चाहिए?
- 16. क्या मुझे HttpRuntime.Cache का उपयोग करना चाहिए?
- 17. क्या मुझे jQuery.each() का उपयोग करना चाहिए?
- 18. क्या मुझे jQuery.inArray() का उपयोग करना चाहिए?
- 19. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 20. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 21. सी # लॉगिंग। मुझे क्या उपयोग करना चाहिए?
- 22. <%# ... %> और <%= ... %> कब उपयोग किया जाना चाहिए?
- 23. <ui: composition> templating का उपयोग करते समय, मुझे <f:metadata> कहां घोषित करना चाहिए?
- 24. क्या मुझे अपने डीएएल से IENumerable <T> या IQueryable <T> वापस करना चाहिए?
- 25. मुझे HTML4/HTML5 में नाम विशेषता का उपयोग कब करना चाहिए?
- 26. मुझे हैशसेट <T> प्रकार का उपयोग कब करना चाहिए?
- 27. मुझे जावा में Iterable <T> बनाम संग्रह <T> के पैरामीटर को कब स्वीकार करना चाहिए?
- 28. क्या मुझे अपनी कक्षा में std :: vector सदस्य चर में std :: unique_ptr <T> का उपयोग करना चाहिए?
- 29. <base> कितनी अच्छी तरह से समर्थित है? क्या मुझे इसका इस्तेमाल करना चाहिए?
- 30. क्या मुझे अपने इंटरफेस पर IObservable <T> का खुलासा करना चाहिए?
मैं HTML भेज रहा हूं (नहीं एक्सएचटीएमएल) और मुझे वह चाहिए। उत्तर के लिए Thxs :) –
'pre' टैग के अंदर' सीडीएटीए 'का उपयोग कर सकते हैं, इसलिए मुझे अपने सभी कोण ब्रैकेट को ठीक करने की ज़रूरत नहीं है? – gman