2010-11-18 22 views
0

Lorsque j'utilise le validateur HTML:html valide - '<' or '>' entre <script> balises

http://validator.w3.org/

Il me donne une erreur. Dans l'en-tête de ma page, j'ai quelque chose comme ceci:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#countdown').countdown({ 
     until: '+2d+3h+1m+6s', 
     layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}' 
    }); 
}); 
</script> 

La partie dans layout qui est donnée une chaîne contient un <. Le validateur donne une erreur. Est-ce que je fais juste une remarque, puisque cela fait partie d'une étiquette de script? Est-ce quelque chose avec le validateur?

Je sais que certains pourraient suggérer de le mettre dans un fichier externe, mais c'est dynamique et je ne veux pas comprendre cela.

Répondre

0

Comme mentionné dans la note du HTML 4 Recommandation sur la spécification des données non HTML dans le contenu des éléments, les balises d'extrémité sont reconnus dans les éléments SCRIPT, mais Les autres types de balisage, tels que les balises de début et les commentaires, ne le sont pas. Ceci est une bizarrerie non-intuitive de SGML pour les éléments définis pour avoir du contenu CDATA.

Essayez

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#countdown').countdown({ 
     until: '+2d+3h+1m+6s', 
     layout: '{d<}{dn} {dl}, {d\>}{hnn}:{mnn}:{snn}' 
    }); 
}); 
</script> 
+0

Cela est vrai, mais ne correspond pas à l'erreur que Matthieu rapporte (ce qui suggère que XHTML est utilisé de sorte que les règles de HTML ne sont pas applicables comme éléments de script n » t ont CDATA intrinsèque) – Quentin