2010-05-31 19 views
16

¿Cuál es el punto de ajustar el código de javascript en <!-- -->?Envolviendo javascript en <!-- -->

+4

Solía ​​haber un punto hace más de una década. No tiene sentido ahora, y en realidad es malo hacerlo. – womp

+0

Hace mucho tiempo ... Jaja ... Cuando comencé a escribir el código JS, la gente recomendaba esto ... – Warty

+5

ocultar las etiquetas CDATA alrededor de los scripts en los comentarios de javascript es la forma más actualizada de escribir un código tonto. – kennebec

Respuesta

24

Ésta es una de mis manías. Esta es una antigua práctica de desarrollador para "proteger" navegadores más antiguos que no comprendían las etiquetas <script>. Sin él, es posible que no puedan cargar la página o mostrar el contenido del script como contenido html.

Pero estamos hablando antiguos navegadores aquí. Los únicos buscadores que fallaron en el análisis de javascript fueron los navegadores de la era 1995. Estos navegadores simplemente no están en uso hoy en día. Esta práctica es solo un remanente del desarrollo web de la era de los 90.

Nadie debería estar poniendo bloques <!-- --> alrededor de su contenido de etiqueta de secuencia de comandos nunca más.

Si ve desarrolladores que todavía están haciendo esto, por favor corríjalos. No analizar el javascript no ha sido un problema desde Netscape 1.0 y this practice is actually considered harmful para navegadores modernos.

+0

+1 el enlace que nos diste es realmente bueno para los novatos –

+0

Deberías echar un vistazo a algunos registros del servidor. Este mes, he tenido 27 visitas de brosers identificadas como Netscape 0.91 y 17 como Netscape 0.6. Claro, la cadena del agente puede manipularse arbitrariamente, pero no veo por qué alguien falsificaría deliberadamente esas versiones. –

+4

No creo que eso tenga sentido. ¿Qué porcentaje del tráfico total es ese? ¿Realmente va a esforzarse por ser el * one * sitio web que funciona para Netscape 0.6? Tendrá que hacer mucho más que solo comentar las etiquetas de secuencia de comandos ... Apuesto a que no son usuarios legítimos, sino personas que investigan o, como usted mencionó, utilizan cadenas de navegador falsificadas. – womp

7

Al incluir el código de Javascript en un comentario HTML, evita que los navegadores más antiguos que no admiten Javascript intenten tratar el código como HTML.

+1

-1 ... pero esos son solo navegadores antiguos. Ver la respuesta de womp. Esto no mereció tantas votaciones al alza ... – naiad

+0

La respuesta de womp es sin duda la correcta. Buenas prácticas o no, la compatibilidad con los navegadores antiguos es la razón por la cual las personas siguen comentando su Javascript. –

+0

Estoy de acuerdo con Mark. Todavía hay una población pequeña que usa esos buscadores anticuados> _> ¿Por qué? Dios sabe. – Warty

0

Navegador anterior que no entiende Javascript solo verá un comentario en HTML.

1

Impide que los agentes de usuario que no conocen la etiqueta <script> o que no la manejan correctamente intenten analizar o mostrar código JavaScript como HTML.

Es una percepción común que tiene que viajar a finales de la década de 1990 para encontrar un navegador que no conoce la etiqueta <script>. Sin embargo, mis propios sitios a menudo están cubiertos por herramientas que implementan analizadores muy rudimentarios (¿por qué no? Puedes escribir un grabber con 10 líneas de PHP). Y también encontré código JavaScript que aparece en el medio de un documento después de pegar desde un sitio web en una aplicación de escritorio que se supone que debe aceptar HTML desde el portapapeles. Por lo tanto, escaparse de contenidos que no son HTML en comentarios HTML no es tan tonto como parece.

0

Además de algunos navegadores que posiblemente no lo admiten, hay otra razón: el validador W3C XHTML (http://validator.w3.org) interpreta JavaScript que no está en etiquetas de comentarios como si fuera HTML. Así que algo como "i < 0" significará que su sitio web no valida a menos que use estas etiquetas.