javascript java - स्वयं-बंद स्क्रिप्ट टैग क्यों काम नहीं करते हैं?




in hindi (10)

ब्राउजर सही तरीके से पहचानने का कारण क्या है:

<script src="foobar.js" /> <!-- self-closing script tag -->

केवल यह पहचाना जाता है:

<script src="foobar.js"></script>

क्या यह एक्सएचटीएमएल समर्थन की अवधारणा को तोड़ता है?

नोट: यह कथन कम से कम सभी आईई (6-8 बीटा 2) के लिए सही है।


Answers

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

दूसरी तरफ, एचटीएमएल के पास बाहरी संसाधनों के संदर्भों के लिए एक उत्कृष्ट टैग है: <link> टैग, और यह स्वयं बंद हो सकता है। यह पहले से ही स्टाइलशीट, आरएसएस और एटम फ़ीड, कैननिकल यूआरआई, और अन्य उपहारों के सभी प्रकार शामिल करने के लिए उपयोग किया जाता है। जावास्क्रिप्ट क्यों नहीं?

यदि आप स्क्रिप्ट टैग को स्वयं संलग्न करना चाहते हैं तो आप ऐसा नहीं कर सकते जैसा मैंने कहा था, लेकिन एक विकल्प है, हालांकि स्मार्ट नहीं है। आप स्वयं को बंद करने वाले लिंक टैग का उपयोग कर सकते हैं और इसे अपनी जावास्क्रिप्ट से एक प्रकार का टेक्स्ट / जावास्क्रिप्ट देकर और स्क्रिप्ट के रूप में रिलायंस कर सकते हैं, जैसा कि नीचे दिया गया है:

<link type="text/javascript" rel ="script" href="/path/tp/javascript" />

एक्सएचटीएमएल 1 विनिर्देश कहता है:

С.3। तत्व न्यूनीकरण और खाली तत्व सामग्री

किसी तत्व का एक खाली उदाहरण दिया गया है जिसका सामग्री मॉडल EMPTY नहीं है (उदाहरण के लिए, एक खाली शीर्षक या अनुच्छेद) न्यूनतम आकार का उपयोग नहीं करता है (उदाहरण के लिए <p> </p> और <p /> )।

एक्सएचटीएमएल डीटीडी स्क्रिप्ट टैग को इस प्रकार निर्दिष्ट करता है:

<!-- script statements, which may include CDATA sections -->
<!ELEMENT script (#PCDATA)>

दूसरों ने जवाब दिया है कि "कैसे" और उद्धृत उद्धरण। बग रिपोर्ट और मेलिंग सूचियों में खोदने के कई घंटों के बाद, "क्यों नहीं <script/> " की वास्तविक कहानी यहां दी गई है।

एचटीएमएल 4

एचटीएमएल 4 SGML पर आधारित है।

एसजीएमएल में कुछ shorttags , जैसे <BR// <B>text</> , <B/text/ , या <OL<LI>item</LI</OL> । एक्सएमएल पहला फॉर्म लेता है, ">" (एसजीएमएल लचीला है) के रूप में समाप्त होने को फिर से परिभाषित करता है, ताकि यह <BR/> हो।

हालांकि, एचटीएमएल को फिर से परिभाषित नहीं किया गया था, इसलिए <SCRIPT/> का अर्थ <SCRIPT>> होना चाहिए
(हां, '>' सामग्री का हिस्सा होना चाहिए, और टैग अभी भी बंद नहीं है ।)

जाहिर है, यह एक्सएचटीएमएल के साथ असंगत है और कई साइटों को तोड़ देगा (जब तक ब्राउजर इस पर ध्यान देने के लिए पर्याप्त परिपक्व थे), इसलिए कोई भी शॉर्टटैग लागू नहीं करता और विनिर्देश उनके खिलाफ सलाह देता है

प्रभावी रूप से, सभी 'काम करने वाले' स्वयं-अंत टैग तकनीकी रूप से गैर अनुरूप अनुरूप पार्सर्स पर वैकल्पिक अंत टैग वाले टैग होते हैं और वास्तव में अमान्य हैं। यह डब्ल्यू 3 सी था जो HTML-compatible बनाकर एक्सएचटीएमएल में संक्रमण में मदद करने के लिए इस हैक के साथ आया था।

और <script> का अंत टैग वैकल्पिक नहीं है

"स्व-समापन" टैग HTML 4 में एक हैक है और अर्थहीन है।

एचटीएमएल 5

एचटीएमएल 5 में पांच प्रकार के टैग हैं और केवल 'शून्य' और 'विदेशी' टैग को स्वयं बंद होने की अनुमति है

चूंकि <script> शून्य नहीं है (इसमें सामग्री हो सकती है) और विदेशी नहीं है (जैसे MathML या SVG), <script> स्वयं को बंद नहीं किया जा सकता है, इस पर ध्यान दिए बिना कि आप इसका उपयोग कैसे करते हैं।

पर क्यों? क्या वे इसे विदेशी के रूप में नहीं मान सकते हैं, विशेष मामला बना सकते हैं, या कुछ?

एचटीएमएल 5 का उद्देश्य एचटीएमएल 4 और एक्सएचटीएमएल 1 के कार्यान्वयन के साथ backward-compatible होना है। यह एसजीएमएल या एक्सएमएल पर आधारित नहीं है; इसका वाक्यविन्यास मुख्य रूप से कार्यान्वयन को दस्तावेज और एकजुट करने से संबंधित है। (यही कारण है कि अवैध HTML4 होने के बावजूद <br/> <hr/> आदि वैध HTML 5 हैं ।)

स्व-बंद <script> उन टैगों में से एक है जहां कार्यान्वयन अलग-अलग होते थे। यह क्रोम, सफारी और ओपेरा में काम करता था ; मेरे ज्ञान के लिए यह इंटरनेट एक्सप्लोरर या फ़ायरफ़ॉक्स में कभी काम नहीं किया।

इस पर चर्चा की गई जब एचटीएमएल 5 का मसौदा तैयार किया जा रहा था और इसे अस्वीकार कर दिया गया क्योंकि यह browser compatibility breaks browser । वेबपृष्ठ जो स्वयं-करीबी स्क्रिप्ट टैग पुराने ब्राउज़र में सही ढंग से प्रस्तुत नहीं कर सकते हैं (यदि बिल्कुल)। अन्य प्रस्ताव थे, लेकिन वे संगतता समस्या को हल नहीं कर सकते हैं।

ड्राफ्ट जारी होने के बाद, वेबकिट ने पार्सर को अनुरूपता में अपडेट किया।

एचटीएमएल 4 और एक्सएचटीएमएल 1 की पिछड़े संगतता के कारण एचटीएमएल 5 में स्वयं बंद <script> नहीं होता है।

एक्सएचटीएमएल 1 / एक्सएचटीएमएल 5

जब वास्तव में एक्सएचटीएमएल के रूप में काम किया, <script/> वास्तव में बंद है, जैसा कि अन्य उत्तरों ने कहा है।

सिवाय इसके कि spec का कहना है कि HTML के रूप में कार्य करते समय इसे काम करना चाहिए था:

एक्सएचटीएमएल दस्तावेज़ ... इंटरनेट मीडिया प्रकार "टेक्स्ट / एचटीएमएल" [आरएफसी 2854] के साथ लेबल किया जा सकता है, क्योंकि वे अधिकांश HTML ब्राउज़र के साथ संगत हैं।

तो क्या हुआ?

लोगों ने मोज़िला से अनुरोध किया कि वे निर्दिष्ट सामग्री शीर्षलेख (जिसे सामग्री स्नीफिंग के नाम से जाना जाता है ) के बावजूद फ़ायरफ़ॉक्स को XHTML रूप में दस्तावेजों को अनुरूप बनाते हैं। इससे स्वयं को बंद करने की अनुमति मिलती, और कंटेंट स्नीफिंग वैसे भी जरूरी था क्योंकि वेब होस्टर्स सही हेडर की सेवा के लिए पर्याप्त परिपक्व नहीं थे; आईई इस पर अच्छा था।

यदि पहला ब्राउज़र युद्ध आईई 6 के साथ समाप्त नहीं हुआ है, तो एक्सएचटीएमएल भी सूची में हो सकता है। लेकिन यह खत्म हो गया। और आईई 6 में एक्सएचटीएमएल के साथ एक समस्या है । असल में आईई ने सही एमआईएमई प्रकार का समर्थन नहीं किया , जिससे सभी को एक्सएचटीएमएल के लिए text/html का उपयोग करने के लिए मजबूर किया गया क्योंकि आईई के पूरे दशक में प्रमुख बाजार हिस्सेदारी थी।

और सामग्री स्नीफिंग भी वास्तव में खराब हो सकती है और लोग कह रहे हैं कि इसे रोकना चाहिए

अंत में, यह पता चला है कि डब्ल्यू 3 सी का मतलब एक्सएचटीएमएल को सख्त करने का नहीं था : दस्तावेज़ दोनों , एचटीएमएल और एक्सएचटीएमएल, और Content-Type नियम हैं। कोई कह सकता है कि वे "हमारे spec का पालन करें" पर फर्म खड़े थे और व्यावहारिक क्या अनदेखा कर रहे थे । एक गलती जो बाद में एक्सएचटीएमएल संस्करणों में continued रही।

वैसे भी, इस निर्णय ने फ़ायरफ़ॉक्स के लिए मामला सुलझाया । क्रोम का जन्म होने से 7 साल पहले था ; कोई अन्य महत्वपूर्ण ब्राउज़र नहीं था। इस प्रकार यह निर्णय लिया गया था।

अकेले कार्यप्रणाली निर्दिष्ट करना विनिर्देशों के कारण एक्सएमएल पार्सिंग को ट्रिगर नहीं करता है।


इंटरनेट एक्सप्लोरर 8 और इससे पहले एक्सएचटीएमएल पार्सिंग का समर्थन नहीं करते हैं। यहां तक ​​कि यदि आप एक्सएमएल घोषणा और / या एक्सएचटीएमएल डक्ट टाइप का उपयोग करते हैं, तो पुराना आईई अभी भी दस्तावेज़ को सादे HTML के रूप में पार्स करता है। और सादे HTML में, स्वयं-समापन वाक्यविन्यास समर्थित नहीं है। पिछला स्लैश सिर्फ अनदेखा किया गया है, आपको एक स्पष्ट समापन टैग का उपयोग करना होगा।

यहां तक ​​कि एक्सएचटीएमएल पार्सिंग के लिए समर्थन वाले ब्राउजर, जैसे कि आईई 9 और बाद में , दस्तावेज़ को एचटीएमएल के रूप में तब तक पार्स कर देंगे जब तक कि आप एक्सएमएल सामग्री प्रकार के साथ दस्तावेज़ की सेवा नहीं करते। लेकिन उस मामले में पुराना आईई दस्तावेज बिल्कुल प्रदर्शित नहीं करेगा!


ऐसा इसलिए है क्योंकि SCRIPT TAG एक VOID तत्व नहीं है।

एक HTML दस्तावेज़ में - VOID ELEMENTS को "बंद टैग" की आवश्यकता नहीं है!

एक्सएचटीएमएल में , सबकुछ जेनेरिक है, इसलिए उन्हें सभी को समापन की आवश्यकता है जैसे "समापन टैग"; बीआर सहित, एक साधारण लाइन-ब्रेक, जैसे <br></br> या इसके शॉर्टेंड <br />

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

मुख्य रूप से, एक अर्थपूर्ण समाप्ति निर्देश, उदाहरण के लिए, "समापन टैग" केवल उन निर्देशों को संसाधित करने के लिए आवश्यक होता है, जो कि अर्थात् टैग को समाप्त टैग द्वारा समाप्त नहीं किया जा सकता है। उदाहरण के लिए:

<H1> अर्थशास्त्र को निम्नलिखित <P> द्वारा समाप्त नहीं किया जा सकता है क्योंकि इसमें ओवरराइड करने के लिए पर्याप्त मात्रा में अपने अर्थशास्त्र नहीं होते हैं और इसलिए पिछले एच 1 निर्देश सेट को समाप्त कर देते हैं। यद्यपि यह धारा को एक नई पैराग्राफ लाइन में तोड़ने में सक्षम होगा, लेकिन वर्तमान फ़ॉन्ट आकार और स्टाइल लाइन-ऊंचाई को ओवरराइड करने के लिए यह "पर्याप्त मजबूत" नहीं है, यानी स्ट्रीम को डालना , यानी एच 1 से लीक करना (क्योंकि पी में यह नहीं है )।

यह कैसे और क्यों "/" (समाप्ति) संकेत का आविष्कार किया गया है।

एक जेनेरिक नो-स्टेटमेंट टर्मिनेशन टैग जैसे < /> , किसी भी एकल गिरावट के लिए सामना करना पड़ा होगा, उदाहरण के लिए: <H1>Title< /> लेकिन यह हमेशा मामला नहीं है, क्योंकि हम भी "घोंसले" करने में सक्षम होना चाहते हैं ", स्ट्रीम की कई मध्यवर्ती टैगिंग: रैपिंग / किसी अन्य कैस्केड पर गिरने से पहले टोरेंटों में विभाजित करें। नतीजतन एक सामान्य टर्मिनेटर जैसे < /> किसी संपत्ति को समाप्त करने के लक्ष्य को निर्धारित करने में सक्षम नहीं होगा। उदाहरण के लिए: <b> बोल्ड <i> बोल्ड-इटैलिक < /> इटैलिक </> सामान्य। निस्संदेह हमारे इरादे को सही करने में असफल रहेगा और शायद इसे बोल्ड बोल्ड-इटैलिक बोल्ड सामान्य के रूप में समझा जाएगा।

इस प्रकार एक रैपर यानी कंटेनर की धारणा पैदा हुई थी। (ये धारणाएं इतनी समान हैं कि यह समझना असंभव है और कभी-कभी एक ही तत्व दोनों में हो सकता है। <H1> एक ही समय में दोनों रैपर और कंटेनर है। जबकि <B> केवल एक अर्थपूर्ण आवरण)। हमें एक सादा, कोई अर्थशास्त्र कंटेनर की आवश्यकता होगी। और निश्चित रूप से एक डीआईवी तत्व का आविष्कार आया था।

डीआईवी तत्व वास्तव में एक 2BR-कंटेनर है। निश्चित रूप से सीएसएस के आने से पूरी स्थिति कमजोर हो गई है, अन्यथा यह बहुत अच्छा परिणाम हुआ है और अप्रत्यक्ष रूप से कई महान परिणामों के साथ एक बड़ा भ्रम पैदा हुआ है!

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

किसी भी एचटीएमएल टैग के मूल व्यवहार को पूरी तरह से ओवरराइड करने और पूरी तरह से परिभाषित करने की अपनी क्षमता के साथ सीएसएस का आ रहा है, किसी भी तरह से एचटीएमएल अस्तित्व के पूरे अर्थ को भ्रमित और धुंधला करने में कामयाब रहा ...

अचानक सभी एचटीएमएल टैग अप्रचलित के रूप में दिखाई दिए, वे अपने सभी मूल अर्थ, पहचान और उद्देश्य से अलग हो गए थे। किसी भी तरह से आप इस धारणा को प्राप्त करेंगे कि अब उनकी आवश्यकता नहीं है। कह रहा है: सभी डेटा प्रस्तुति के लिए एक कंटेनर-रैपर टैग पर्याप्त होगा। बस आवश्यक विशेषताओं को जोड़ें। इसके बजाय सार्थक टैग क्यों नहीं हैं; जब आप जाते हैं तो टैग नामों को खोजें और सीएसएस को बाकी के साथ परेशान करें।

इस प्रकार एक्सएचटीएमएल का जन्म हुआ और निश्चित रूप से महान ब्लंट, नए कॉमर्स द्वारा इतनी प्यारी और एक विकृत दृष्टि का भुगतान किया, और इसका क्या उद्देश्य है। डब्ल्यू 3 सी वर्ल्ड वाइड वेब से क्या हुआ गलत, कामरेड? !!

एचटीएमएल का उद्देश्य मानव प्राप्तकर्ता को सार्थक डेटा स्ट्रीम करना है।

जानकारी देने के लिए।

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

इस मामले में सबसे महत्वपूर्ण बात यह जानना और समझने में सक्षम होना है कि xhtml कुछ विस्तारित HTML का संस्करण नहीं है , xhtml एक पूरी तरह से अलग जानवर है; आधार ऊपर; और इसलिए उन्हें अलग रखना बुद्धिमानी है।


इंटरनेट एक्सप्लोरर 8 और पुराने एक्सएचटीएमएल, application/xhtml+xml लिए उचित एमआईएमई प्रकार का समर्थन नहीं करते हैं। यदि आप text/html रूप में एक्सएचटीएमएल की सेवा कर रहे हैं, जो आपको इंटरनेट एक्सप्लोरर के इन पुराने संस्करणों के लिए कुछ भी करने के लिए है, तो इसे HTML 4.01 के रूप में व्याख्या किया जाएगा। आप केवल उस तत्व के साथ शॉर्ट सिंटैक्स का उपयोग कर सकते हैं जो समापन टैग को छोड़ा जा सकता है। एचटीएमएल 4.01 विशिष्टता देखें।

एक्सएमएल 'शॉर्ट फॉर्म' को एक विशेषता के रूप में व्याख्या किया गया है, जो (क्योंकि कोई बराबर चिह्न नहीं है) को "/" का अंतर्निहित मान माना जाता है। यह HTML 4.01 में सख्ती से गलत है - अविकसित विशेषताओं की अनुमति नहीं है - लेकिन ब्राउज़र इसे अनदेखा कर देंगे।

आईई 9 और बाद में एक्सएचटीएमएल 5 का समर्थन application/xhtml+xml


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

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

<p><div>hello</div></p>

... ब्राउज़र द्वारा व्याख्या की गई है:

<p></p><div>hello</div><p></p>

... जो एक सुंदर अस्पष्ट बग के लिए नुस्खा है जो आपको डीओएम के खिलाफ कोड करने की कोशिश करते समय फिट बैठता है।


एक्सएमएल और एक्सएचटीएमएल के विपरीत, एचटीएमएल को स्वयं बंद सिंटैक्स का कोई ज्ञान नहीं है। ब्राउज़र जो एक्सएचटीएमएल को एचटीएमएल के रूप में समझते हैं, यह नहीं जानते कि / चरित्र इंगित करता है कि टैग स्वयं बंद होना चाहिए; इसके बजाय वे इसे एक खाली विशेषता की तरह समझते हैं और पार्सर अभी भी सोचता है कि टैग 'खुला' है।

जैसे <script defer> को <script defer="defer"> रूप में माना जाता है, <script /> को <script /="/"> रूप में माना जाता है।


'सच्चे एक्सएचटीएमएल', 'अशुद्ध एक्सएचटीएमएल' और एचटीएमएल के साथ-साथ सर्वर द्वारा भेजे गए एमआईएमई प्रकार के महत्व के बीच अंतर पहले से ही वर्णित किया गया था। यदि आप अभी इसे आजमा सकते हैं, तो यहां लाइव ब्राउज़र के साथ सरल संपादन योग्य स्निपेट है जिसमें सक्षम ब्राउज़र के लिए स्वयं-बंद स्क्रिप्ट टैग शामिल है:

div { display: flex; }
div + div {flex-direction: column; }
<div>Mime type: <label><input type="radio" onchange="t.onkeyup()" id="x" checked  name="mime"> application/xhtml+xml</label>
<label><input type="radio" onchange="t.onkeyup()" name="mime"> text/html</label></div>
<div><textarea id="t" rows="4" 
onkeyup="i.src='data:'+(x.checked?'application/xhtml+xml':'text/html')+','+encodeURIComponent(t.value)"
><?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
[<!ENTITY x "true XHTML">]>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
  <p>
    <span id="greet" swapto="Hello">Hell, NO :(</span> &x;.
    <script src="data:text/javascript,(g=document.getElementById('greet')).innerText=g.getAttribute('swapto')" />
    Nice to meet you!
    <!-- 
      Previous text node and all further content falls into SCRIPT element content in text/html mode, so is not rendered. Because no end script tag is found, no script runs in text/html
    -->
  </p>
</body>
</html></textarea>

<iframe id="i" height="80"></iframe>

<script>t.onkeyup()</script>
</div>

आपको Hello, true XHTML. Nice to meet you! देखना चाहिए Hello, true XHTML. Nice to meet you! Hello, true XHTML. Nice to meet you! Textarea के नीचे।

अक्षम करने योग्य ब्राउज़रों के लिए आप textarea की सामग्री कॉपी कर सकते हैं और इसे .xht (या .xht ) एक्सटेंशन के साथ फ़ाइल के रूप में सहेज सकते हैं ( इस संकेत के लिए धन्यवाद Alek )।


असल में यह एक दस्तावेज़ लिखने की अनुमति है जो एक्सएचटीएमएल और एचटीएमएल दोनों है। समस्या यह है कि एक्सएचटीएमएल के भीतर, एक्सएमएल पार्सर स्क्रिप्ट टैग में वर्णों और <<> वर्णों की व्याख्या करेगा और एक्सएमएल पार्सिंग त्रुटि का कारण बन जाएगा। तो, आप अपनी जावास्क्रिप्ट को इकाइयों के साथ लिख सकते हैं, उदाहरण के लिए:

if (a &gt; b) alert('hello world');

लेकिन यह अव्यवहारिक है। बड़ी समस्या यह है कि यदि आप HTML में पृष्ठ पढ़ते हैं, तो टैग स्क्रिप्ट को डिफ़ॉल्ट रूप से सीडीएटीए माना जाता है, और ऐसी जावास्क्रिप्ट नहीं चलती है। इसलिए, यदि आप एक ही पृष्ठ को एक्सएचटीएमएल और एचटीएमएल पार्सर्स का उपयोग करके ठीक करना चाहते हैं, तो आपको एक्सएचटीएमएल में सीडीएटीए तत्व में स्क्रिप्ट टैग संलग्न करना होगा, लेकिन इसे HTML में संलग्न नहीं करना है।

यह चाल एक सीडीएटीए तत्व की शुरुआत जावास्क्रिप्ट टिप्पणी के रूप में करती है; एचटीएमएल में जावास्क्रिप्ट पार्सर सीडीएटीए टैग को अनदेखा करता है (यह एक टिप्पणी है)। एक्सएचटीएमएल में, एक्सएमएल पार्सर (जो जावास्क्रिप्ट से पहले चलाया जाता है) इसका पता लगाता है और सीडीएटीए के अंत तक सीडीएटीए के अंत तक बाकी का इलाज करता है।





javascript html internet-explorer xhtml