Har sett detta i javascript här och där.
<script type="text/javascript">
// <![CDATA[
...
// ]]>
</script>
Är CDATA något som man bör ha med eller?
9 svar · 435 visningar · startad av Jon
Har sett detta i javascript här och där.
<script type="text/javascript">
// <![CDATA[
...
// ]]>
</script>
Är CDATA något som man bör ha med eller?
Ser ut som något IE-kraft.
Kan säkert tas bort.
Det betyder
<script type="text/javascript">
// Det som följer är bara en massa tecken som inte på något sätt ska tolkas som XML.
...
// Nu fortsätter vi tolka tecknen som XML.
</script>
Red. Något sent ute ;)
CDATA står för Character Data vilket betyder att inom dessa element finns det textdata som inte skall parsas av XML-tolken. Motsatsen är PCDATA (Parsed Character Data). Anledningen till att man använder dem är att man kanske använder vissa tecken på ställen ('<', '>', '&', '--' o.s.v.) som en XML-parser inte gillar, t.ex. i JavaScript-kod. Så för att undvika fel placerar man dessa tecken i CDATA-sektioner.
Orsaken till varför CDATA-taggarna bortkommenteras är att de ej förstås av skriptmotorn.
:)
Andra anledningar till att använda CDATA-sektioner i script-block är för att förhindra upplösning av entities samt att slipa andvända de samma vid tex test av vilkor.
Dessutom förhindrar det att xmlparsers rationaliserar bort "whitespace" dvs, av två eller flera intilliggande blanksteg i en javascript sträng skulle bara ett vara kvar när scriptet nådde scriptmotorn.
Tack för bra förklaringar :)