javascript - page - title html
¿Realmente necesitas especificar el atributo de tipo? (6)
De hecho, el atributo de type
no es necesario para HTML5, pero incluirlo no rompe la validación, por lo que puede convertir a HTML5 desde HTML 4 o XHTML 1, y aún así validar sus etiquetas script y style .
<link>
etiquetas <link>
tampoco necesitan un atributo de type
(énfasis agregado):
El atributo type proporciona el tipo MIME del recurso vinculado. Es meramente consultivo. El valor debe ser un tipo MIME válido.
Para los enlaces de recursos externos, el atributo de tipo se usa como una sugerencia para los agentes de usuario para que puedan evitar la obtención de recursos que no admiten. Si el atributo está presente, entonces el agente de usuario debe asumir que el recurso es del tipo dado (incluso si no es un tipo MIME válido, por ejemplo, la cadena vacía). Si se omite el atributo, pero el tipo de enlace de recurso externo tiene un tipo predeterminado definido, entonces el agente de usuario debe asumir que el recurso es de ese tipo. Si el UA no admite el tipo MIME dado para la relación de enlace dada, entonces el UA no debe obtener el recurso; Si el UA admite el tipo MIME dado para la relación de enlace dada, entonces el UA debe obtener el recurso en el momento adecuado según se especifica para el tipo particular del enlace del recurso externo. Si se omite el atributo, y el tipo de enlace de recurso externo no tiene un tipo predeterminado definido, pero el agente de usuario obtendría el recurso si el tipo fuera conocido y admitido, entonces el agente de usuario debería obtener el recurso bajo el supuesto de que ser apoyado
Los agentes de usuario no deben considerar autoritario el atributo de tipo. Al recuperar el recurso, los agentes de usuario no deben usar el atributo de tipo para determinar su tipo real. Solo el tipo real (como se define en el párrafo siguiente) se usa para determinar si se debe aplicar el recurso, no el tipo supuesto mencionado anteriormente.
Posible duplicado:
¿Por qué escribir <script type = “text / javascript”> cuando el servidor establece el tipo mime?
Hace un tiempo leí Dive into HTML5 , y leí nuevamente su capítulo semántico recientemente. Noté que recomienda no usar los atributos type="..."
en el script
y el style
, porque:
- El tipo de MIME debe ser enviado por el servidor,
- JS y CSS son los valores por defecto,
- Los navegadores no les importa.
Sin embargo, veo que todavía es una práctica común incluir atributos de type
(o, horror, language
) en las etiquetas de style
y script
. Suponiendo que el servidor esté configurado correctamente para enviar los tipos MIME correctos, ¿existen razones para usar estos distintos de ser explícitos?
EDIT : Esto es explícitamente sobre HTML5, no XHTML.
Es posible que el atributo de tipo no sea necesario para HTML5, pero se requiere para otros tipos de documentos HTML, como HTML 4.01 Strict. También diría que cualquier cosa que haga que el código / documento sea más claro para el desarrollador es algo realmente bueno.
Si eso significa ser explícito sobre el tipo de script que se usa o el tipo de estilo, lo usaría.
Eso no es bueno. En XHTML, el atributo de type
es estrictamente requerido. Aunque los navegadores pueden ser indulgentes, eso no es razón para romper la convención.
La mayoría de las personas están acostumbradas a HTML 4 / XHTML y antes, donde se requiere el atributo de type
para estos elementos.
Respecto a HTML 5, estos son de hecho opcionales y la especificación da un valor predeterminado, dependiendo del elemento.
Para la etiqueta de script
, este es el valor predeterminado de text/javascript
:
Si el idioma no es el descrito por "text / javascript", entonces el atributo de tipo debe estar presente
Para la etiqueta de style
, esta predeterminada es text/css
:
El valor predeterminado para el atributo de tipo, que se usa si el atributo está ausente, es "text / css".
Entonces, no es necesario, como dijiste. Sin embargo, no siempre se puede confiar en el soporte del navegador y las configuraciones del servidor, ya que ser explícito es una buena idea ya que evita tales problemas.
Y, por supuesto, no todos los navegadores son compatibles con HTML 5: aquellos que no usan una versión anterior donde se requiere el atributo y es posible que su javascript / css no se analice en dichos navegadores, lo que significa que no tendrá CSS ni javascript. en navegadores más antiguos, cuando una solución simple para la compatibilidad con versiones anteriores es agregar el atributo.
Según w3 esto es required .
Incluso si los nuevos navegadores se pueden administrar sin especificar la etiqueta (utilizando un valor predeterminado), es mejor dejarla para la compatibilidad hacia atrás con los navegadores más antiguos.
Si no utilizas el tipo no se validará.