2009-10-02 17 views

Respuesta

99

HTML comentarios, es decir. <!-- -->, ya no son necesarios. Estaban destinados a permitir que los navegadores que no entendieron la etiqueta <script> se degraden con elegancia. Estos navegadores, ej. Netscape 1.x ya no se encuentra en la naturaleza. Por lo tanto, realmente no tiene sentido colocar comentarios HTML en las etiquetas de secuencia de comandos.

Si quiere que su HTML valide como XHTML o XML, probablemente quiera usar una etiqueta CDATA comentada.


<script type="text/javascript"> 
//<![CDATA[ 
document.write("Hello World!"); 
//]]> 
</script>

La razón de esto es por lo que su <, >, &, " y ' que forman parte de su código JavaScript no tendrá que ser codificado como &lt;, &gt;, &amp;, &quot; y &apos; respectivamente.

+3

¿Qué haces cuando quieres incluir ']]>' como parte de una cadena? – dreamlax

+6

@dreamlax: Tendrás que dividirlo en pedazos. Las personas tienen el mismo problema con '' que generalmente se divide en ''. – Asaph

+5

En realidad, puede haber un punto en el uso de comentarios html sobre el código js aún hoy. Googlebot rastreará cualquier cadena encontrada en el código js que "se parece a una URL "(de acuerdo con I-don't-know what criteria) como si fuera un enlace. Sé que es totalmente demencial, pero lo es. En muchos casos puede tener cadenas que se parecen a las urls pero no son URL válidas, por lo que No quiero que el rastreador de Google moleste a su servidor con solicitudes sin sentido. Un tipo que parece saber lo que dice asegura que el robot de Google no rastreará las cadenas look-like-url js si el código js está encerrado en comentarios html. http: // goo.gl/ZRW1Y no ha intentado tho – matteo

22

En realidad no, a menos que usted está apuntando navegadores de 20 años de edad.

+0

¿Fue Netscape 4? :) – kangax

+6

No, Internet Explorer 2. Netscape tenía soporte para Javascript desde 2.0 – MarkR

+1

@kangax: Peor que eso - Netscape Navigator 2 si no recuerdo mal. – Chuck

11

Es mejor simplemente evitar JavaScript en el cuerpo todos juntos. Hace las cosas más fáciles de actualizar, evita las necesidades de comentarios y te obliga a planificar para usuarios que no tienen JavaScript habilitado, así como para usuarios con JavaScript habilitado.

+8

A veces tener todos tus javascript en archivos '.js' en vez de en el HTML, hace que * sea más difícil * actualizar porque los archivos' .js' pueden almacenarse en caché. – Asaph

+11

Enlace mis archivos javascript desde una carpeta que tiene en su nombre la versión actual de mi aplicación web. – herzmeister

+3

Otra táctica común de muchos sitios web y marcos, como wordpress, es agregar una cadena de consulta al URI del archivo js, ​​para forzar el archivo a recargarse cuando cambia la cadena de consulta. ej .: '' – fyrye

4

No es la forma en que lo está haciendo, no. !

El < - el tratamiento es el mismo que // en javascript, por lo que el código debe tener este lugar:

<script type="text/javascript"> 
<!-- 
document.write("Hello World!"); 
//--> 
</script> 

..la diferencia con el suyo es que un navegador oscura raro que no puede entiendo que la etiqueta del script imprimirá la apertura // en la pantalla, lo que en cierto modo frustra el propósito de colocar allí la etiqueta de comentario.

Aquí hay más información sobre ella aquí si usted es curioso: http://www.javascripter.net/faq/comments.htm

Sin embargo, al final incluso navegadores súper oscuros que no soportan JavaScript por defecto (como HTMLLayout Examinar o Netsurf) saben que es mejor no es renderizar el texto entre etiquetas de script, por lo que no, ya no es relevante de ninguna manera. Sin embargo, todos los navegadores que posiblemente te interesen comprenden la sintaxis <! -, por lo que no es necesario preocuparse locamente por eliminarlo de lo que ya tienes, porque es js válido, solo recuerda no agregarlo la próxima vez.

Cuestiones relacionadas