2011-07-24 16 views
28

On aminutewithbrendan, Brendan Eich hace un comentario mano de lo que implica que las secuencias de comandos que sirve comoes "<script type = 'text/javascript'>" incorrect?

<script type='text/javascript'></script>

no es correcta porque "text/javascript" no es un tipo MIME válido y afirma "application/javascript" es un tipo MIME válido.

Solo me importa servir HTML5 como el doctype.

  • ¿Dónde están los tipos MIME para <script> definidos en la especificación html5 W3C?
  • ¿Cómo es compatible el navegador para "text/javascript" y "application/javascript"?
  • ¿Cuál debería usarse? Alternativamente, ¿no deberíamos simplemente configurar type en absoluto?

Cita literal de Brendan: (1:48)

... o escribe el guión es igual a application/javascript o aplicación/ECMAScript, esos son los tipos MIME oficiales o cualquiera de los los confeccionados a partir de HTML 4 como text/javascript ...

relacionados:

La unión de los recursos relacionados en realidad no contesta las tres preguntas.

+6

En HTML5 solo escribe '' afaik. –

Respuesta

31

¿Dónde están los tipos MIME para <script> definidos en la especificación html5 W3C?

En ninguna parte, tiene un list (que incluye algunos experimentales y desaprobados) pero indica que puede usar cualquier tipo MIME que desee. MIME types are defined by IANA y text/javascript está marcado oficialmente como obsoleta en favor de application/javascript

¿Cuál es el apoyo del navegador como por "text/javascript" y "application/javascript"?

No es suficiente. Todavía hay muchos navegadores alrededor que no reconocen este último. (Sin embargo, esto es solo un problema con el atributo tipo, puede establecer el encabezado HTTP Content-Type correctamente sin preocuparse).

¿Cuál debe ser utilizado? Alternativamente, ¿no deberíamos simplemente configurar el tipo?

Como solo le interesa HTML 5, omita por completo el atributo de tipo. Es opcional y el idioma predeterminado es JavaScript.

+14

Como nota al margen, puede usar '" application/javascript "' como su 'type' y esto no servirá javascript automáticamente para los navegadores antiguos/no compatibles. Esto se puede considerar una cosa "positiva" – Raynos

3

Creo que Brandon está (al menos) parcialmente equivocado. borrador de HTML 5 (15 ago 2011) la última de editor dice:

El atributo type da el lenguaje del guión o el formato de los datos . Si el atributo está presente, su valor debe ser un tipo MIME válido. El parámetro de juego de caracteres no debe ser especificado. El valor predeterminado, que se usa si el atributo está ausente, es "texto/javascript".

Así que si usted no incluye un atributo type, el valor por defecto es "text/javascript". Si ese es el valor predeterminado, debe ser un tipo MIME válido.

¿Cuáles son los otros tipos MIME válidos? No parece que la especificación para dar una lista de ejemplo, pero no especifica el formato requerido cuando dice:

Una cadena es un tipo MIME válido si coincide con la regla de tipo de medio define en la sección 3.7 " Tipos de medios" de la RFC 2616

que puede tener el placer de la lectura aquí:

http://www.ietf.org/rfc/rfc2616.txt

Editar: Quentin tiene razón: para HTML5, no hay necesidad de incluir una type atributo, suponiendo que estés usando Javascript.

+1

Para mí que dice que solo tiene que ser: escriba/subtipo qué texto/javascript sería válido. Sin embargo, creo que W3C debería respaldar el tipo de aplicación/javascript. – jonathanKingston

Cuestiones relacionadas