Leí en alguna parte que ya no necesitas cosas como cosas type="text/javascript"
raras CDATA
y <!--
cosas en tus etiquetas de script. Entonces, en lugar de:
<script type="text/javascript">
//<![CDATA[
<!--
//your script here
-->
//]]>
</script>
Simplemente harías:
<script>
//your script here
</script>
Sin embargo, no recuerdo dónde leí esto. Creo que fue de un ingeniero de Google o Yahoo, y mencionaron específicamente qué navegadores requerían estas construcciones arcaicas y por qué. ¿Alguien sabe de qué publicación / artículo del blog se habló, o tiene un buen recurso para hablar de esto?
javascript
html
cmcculloh
fuente
fuente
text/javascript
especificado, lo elimino. Es ruido.Respuestas:
Vea el artículo de Crockford en la
<script>
etiqueta , más notablemente:...
fuente
RubyScript
vuelve popular, terminará en.rbscript
y el navegador actuará en consecuencia.Es una recomendación de Crockford . Sé que lo he visto repetido en otro lugar (¿ppk tal vez?). La especificación HTML5 no lo requiere.
Curiosamente, se ha vuelto un tanto au courant usar el atributo "type" para marcar
<script>
bloques que no desea que se evalúen:Al dar un tipo extraño que no sea JavaScript, obtienes una forma de insertar texto sin procesar en la página para que lo use otro código JavaScript (que presumiblemente está en un bloque de script que se puede evaluar).
fuente
type="text/html"
significa en absoluto y quétext/javascript
significa ... gracias<script>
bloque. Sin embargo,<script>
se convertirá en parte del DOM, por lo que otros códigos JavaScript pueden encontrarlos y extraer sus contenidos.In HTML5, the type attribute is no longer required for JavaScript. The default value is "application/javascript".
HTML5 no necesita el
type="text/javascript"
(es el predeterminado).CDATA
solo es necesario para páginas XHTML, si el script tiene caracteres HTML (como '<' y '>').<!--
solo debería ser necesario para navegadores antiguos.fuente
Bueno, estoy tentado a decir que ya nadie lo usa
text/javascript
, y que incluso las herramientas de minificación probablemente lo eliminarían ... De hecho, la documentación del SDK de Facebook lo especifica<script>
.Sin embargo, la documentación del SDK de Google todavía tiene
text/javascript
.La documentación de Amazon SDK todavía tiene
text/javascript
.La documentación de la API de Linkedin todavía tiene
text/javascript
.Instagram todavía está usando
text/javascript
.fuente
El tipo atributo identifica el lenguaje de script del código incrustado dentro de un elemento de script o referenciado a través del atributo src del elemento. Esto se especifica como un tipo MIME; Entre los ejemplos de tipos MIME compatibles se incluyen text / javascript, text / ecmascript, application / javascript y application / ecmascript.
De acuerdo con la especificación HTML 4.01
Pero en HTML5
text/javascript
es el tipo predeterminado, por lo que puede omitirfuente
puede estar pensando en este artículo aquí, con la dependencia de que los scripts predeterminan automáticamente a texto / javascript en HTML5, mientras que los navegadores que no son HTML5 todavía esperan que defina el tipo específicamente en cuanto a las especificaciones, aunque casi siempre adivinarán texto / javascript de todos modos .
fuente
depende del navegador interpretar el
script
bloque correctamente en función de los encabezados, creo, y no deltype
atributo. Entonces, para responder a su pregunta, no, no es necesario para los navegadores modernos (estoy hablando de IE7 +, FF, Webkit). Si admite navegadores más antiguos que eso ... lo siento por usted =)fuente
Si coloca una etiqueta de script dentro de SVG , debe especificar el atributo type. Y debería ser
"text/ecmascript"
más que"text/javascript"
.Si su secuencia de comandos está en línea (no vinculada), también deberá incluir el cuerpo de la secuencia de comandos en una declaración CDATA. Por lo tanto, la plantilla de secuencia de comandos en línea para SVG (y otras variantes XML) es
Estos pueden ser casos especiales 'en la naturaleza', pero son lo suficientemente reales y el uso de SVG está creciendo, por lo que es incorrecto que alguien sugiera que el atributo type y CDATA son completamente obsoletos en los navegadores modernos. Los casos de uso son estrechos, sí, pero no desconocidos.
fuente
El estándar MIME Sniffing permite que JavaScript se sirva utilizando cualquier tipo MIME ( Extensiones multipropósito de correo de Internet ) que coincida con lo siguiente:
fuente
Bueno, sigo viendo más ejemplos sin el texto / javascript, pero por alguna razón mis scripts no funcionarán en FF cuando lo haga. Recomendaría mantener la declaración text / javascript. La etiqueta CDATA evita que javascript se muestre como texto sin formato en su sitio web si su navegador tiene javascript desactivado. Personalmente, ya no uso esas etiquetas, no creo que haya una gran cantidad de usuarios sin ellos y, si están allí, tal vez quieran cultivar algunos cerebros: P
fuente
<script>
, sin "idioma" y sin "tipo", y funcionan bien en todos los navegadores. (Bueno, todos los razonables: FF, Chrome, Safari, IE, Opera.)type="text/javascript"
: Requerido en HTML 4 y XHTML, pero opcional en HTML5.CDATA
: Requerido en XHTML.<!--
: Se utiliza para ocultar JavaScript de navegadores muy antiguos. Por ejemplo: Netscape 1 e Internet Explorer 2, ninguno de los cuales usa más.fuente