La siguiente práctica es bastante común en el JavaScript en línea con el que tengo que trabajar:
<script type="text/javascript">
<!--
// Code goes here
//-->
</script>
Sé que el objetivo es evitar que los navegadores que son incompatibles con JavaScript muestren la fuente, pero ¿sigue siendo una buena práctica hoy en día? La gran mayoría de los navegadores que se utilizan hoy en día pueden interpretar JavaScript; incluso los dispositivos móviles modernos no suelen tener problemas.
En cuanto al '¿por qué no?' pregunta: Recientemente tuve que pasar varias horas depurando un problema en el que alguien había dejado el '//' delante de un '->' al final de una etiqueta de script enterrada profundamente en algunas páginas, y esto estaba causando JavaScript misterioso errores.
¿Qué haces? ¿Esto todavía se considera una 'mejor práctica'?
fuente
Respuestas:
Lo importante es que hoy en día, si un navegador en particular admite JavaScript o no es irrelevante (claramente la gran mayoría lo hace), es irrelevante porque casi todos entienden los bloques de script, lo que significa que saben ignorar JavaScript incluso si no pueden. interpretarlo.
Matt Kruse da una explicación un poco más detallada en su sitio de JavaScript Toolbox sobre por qué específicamente no utilizar comentarios HTML en bloques de script.
Citado de esa página:
No utilice comentarios HTML en bloques de script
En los tiempos antiguos de javascript (1995), algunos navegadores como Netscape 1.0 no tenían ningún soporte o conocimiento de la etiqueta de script. Entonces, cuando se lanzó javascript por primera vez, se necesitaba una técnica para ocultar el código de los navegadores más antiguos para que no lo mostraran como texto en la página. El 'truco' fue usar comentarios HTML dentro del bloque de script para ocultar el código.
Usar comentarios HTML en el script es malo
Ningún navegador de uso común hoy en día ignora la etiqueta <script>, por lo que ya no es necesario ocultar la fuente de JavaScript. De hecho, puede considerarse perjudicial por las siguientes razones:
fuente
Dejé de hacerlo. En algún momento, solo tendrá que soltar su NCSA Mosaic.
fuente
Según la Recomendación del W3C , fue principalmente útil ocultar los datos del script a los AGENTES DE USUARIO.
Citado de la página W3c :
Comentarios de scripts en JavaScript El motor JavaScript permite que la cadena se
"<!--"
produzca al comienzo de un elemento SCRIPT e ignora más caracteres hasta el final de la línea. JavaScript interpreta "//" como el comienzo de un comentario que se extiende hasta el final de la línea actual. Esto es necesario para ocultar la cadena "->" del analizador de JavaScript.fuente
No, es una resaca de una solución alternativa utilizada cuando se introdujo por primera vez el elemento de script. Ningún navegador deja de comprender el elemento de secuencia de comandos en la actualidad (incluso si lo entiende como "Secuencia de comandos que debe ignorarse porque la secuencia de comandos está desactivada o no es compatible").
En XHTML, son activamente dañinos.
Escribí algo sobre su historia hace un tiempo.
fuente
Dejé de usar esto hace un tiempo. Además, de acuerdo con Douglas Crockford , puede eliminar el atributo de tipo de las etiquetas de su script, ya que el único lenguaje de script disponible en la mayoría de los navegadores es JavaScript.
fuente
Si está escribiendo manualmente, le sugiero que siempre use archivos js externos, eso ayudaría mucho.
En cuanto a su inquietud: la mayoría de los navegadores son seguros para JavaScript en la actualidad. Sin embargo, a veces las personas pueden escribir analizadores simples para obtener un HTML directamente, y debo decir que la cita segura es realmente útil para esos clientes. Además, algunos clientes que no son de JS, como el antiguo Lynx, se beneficiarían de esto.
fuente
Si no incluye texto literal entre las etiquetas de script, es decir, si carga scripts de archivos src, puede olvidarse de los comentarios.
fuente
Recomendaría usar una sección CDATA, como se describe en esta pregunta .
fuente
Dejé de hacer eso hace mucho tiempo. Realmente no lo necesitas en esta época.
fuente
No lo hago, pero el otro día fui a validar mi sitio protegido con contraseña en w3c. Entonces tuve que usar su método de entrada directa. Se quejó de mi javascript, así que volví a poner los comentarios en todo estaba bien.
fuente