html - script - onerror img js
¿Cuál es la diferencia entre los atributos "lang" y "type" en una etiqueta de script? (7)
Según la especificación HTML 4.01 :
tipo : este atributo especifica el lenguaje de scripting del contenido del elemento y anula el lenguaje de scripting predeterminado. El lenguaje de scripting se especifica como un tipo de contenido (por ejemplo, "texto / javascript"). Los autores deben proporcionar un valor para este atributo. No hay un valor predeterminado para este atributo.
idioma : obsoleto. Este atributo especifica el lenguaje de scripting de los contenidos de este elemento. Su valor es un identificador para el idioma, pero como estos identificadores no son estándar, este atributo se ha desaprobado a favor del tipo.
Para las etiquetas HTML <script>
, ¿cuál es la diferencia técnica entre lang=Javascript
y type=text/javascript
?
Usualmente uso ambos, porque siempre he supuesto que los navegadores más antiguos necesitan uno u otro.
Tipo es más general y se refiere a la codificación mime del bloque de script. Por lo que sé, solo necesitas uno y generalmente el bloque funcionará sin atributos de tipo o retraso.
Tiendo a usar el tipo.
el idioma es el antiguo atributo, el tipo es el nuevo. Tendría que usar un tipo de documento de transición (no positivo sobre eso, pero bastante seguro) para usar legalmente ambos atributos.
lang es el idioma del script, y type es el tipo MIME del contenido de la etiqueta del script.
Básicamente, ninguno de los atributos es necesario. La única razón para usarlos es la validación, y esto se ha anulado en HTML5 .
<script language="">
se puede usar para servir VBScript y diferentes versiones de Javascript.
A menos que necesite una versión específica de Javascript, no use el atributo de idioma, su código aún funcionará normalmente sin él.
Incluso si necesita una versión específica de Javascript para alguna parte del código, intente comprobar si la característica existe en su lugar, con una verificación (typeof window.blah.feature! = "Undefined").
Aquí hay un ejemplo del uso del atributo de idioma: http://bclary.com/2004/08/27/javascript-version-incompatibilities
El atributo de idioma está en desuso debido a este comportamiento poco definido o incierto.
El atributo de tipo es completamente diferente. Le dice al navegador qué tipo de mime es el script, y siempre debe especificarse en una etiqueta de script.
El OP específicamente dijo "lang" no "lenguaje". La etiqueta mucho más antigua de "idioma" habría sido Javascript o VBScript.
Pero la etiqueta "lang" actual y aparentemente válida es en realidad el idioma escrito , como inglés, español, japonés. Visual Studio de Microsoft proporciona una lista desplegable para los valores de "lang" y todos son como en-us, fr, ja, etc. para inglés de EE. UU., Francés, japonés, etc.
Estoy pensando que podría haber razones válidas para usar esta etiqueta si tienes una configuración multilingüe compleja: tal vez haya un sistema de administración de contenido que pueda soportar esto y luego entregue el archivo JavaScript adecuado, como los recursos de control de jQuery.