XHTML estricto y bloques JavaScript
April 29th, 2005Si has intentado introducir código JavaScript en una página que desees que valide como XHTML estricto, seguramente te habrás encontrado con problemas, a no ser que hayas adoptado la opción de guardar el JavaScript en un archivo externo.
Esto se debe a que en la especificación del XHTML estricto 1.1, el contenido de los bloques javascript y estilos es considerado como #PCDATA. Esto hace que si en el interior de la etiqueta <script> aparece algún tipo de carácter especial para XML como por ejemplo <
, el validador encuentre un fallo.
Una solución sería pasar todos estos caracteres a sus correspondientes códigos de entidad HTML, aunque esto es bastante laborioso y proclive a errores. La solución ideal pasa por la utilización de las etiquetas CDATA habituales. Sin embargo si lo probamos nos encontraremos con que los navegadores no las entienden y se generan errores.
Para resolverlo hay un truco que se puede utilizar y que permiten incrustar código JavaScript en la página html y que ésta valide correctamente. El truco se basa en mezclar el CDATA con comentarios html y javascript.
<script type="text/javascript"><!--//--><![CDATA[//><!-- // aquí tu código JavaScript..... //--><!]]></script>
delicious
menéame
fresqui

December 30th, 2005 a las 12:22 am
[…] xhtml css javascript […]
February 22nd, 2007 a las 1:03 am
No me funciona en Opera no muestra el resultado de un Javascript.
y FireFox no muestra la pag… a menos que quite el javascript , porque ?
Estoy haciendo paginas XHTML y en una parte de una de ellas
necesito mostrar el resultado de un javascript….
Cualquier ayuda o tip gracias…
November 29th, 2007 a las 3:11 am
Otra forma es simplemente encerrar el código javascript en un comentario, así:
El validador considera el bloque como un comentario y los navegadores no encuentran problemas.
Saludos.