plain - Al servir archivos JavaScript, ¿es mejor usar la aplicación/javascript o application/x-javascript?
media type (5)
En la mayoría de las situaciones, el tipo de mime que envía el servidor no tiene ninguna diferencia práctica. Me gustaría ir con application/javascript , que también es recomendado por un RFC.
Toda la pregunta cabe en el título. Y para agregar algo de contexto: no estoy preguntando qué es lo mejor según lo que dicen las especificaciones, sino qué funciona mejor dada la combinación de navegadores implementados hoy en día.
Algunos puntos de datos:
- Google usa
text/javascript
para el JS utilizado en su página de inicio. - Google usa
text/javascript
en Google Docs. - Google usa
application/x-javascript
para servir archivos JavaScript con su servicio de bibliotecas Ajax . - Yahoo usa
application/x-javascript
para servir su JS. - Yahoo usa
application/x-javascript
para el JavaScript publicado en su página de inicio.
Ha sido "texto / javascript", pero esto está obsoleto (consulte la Lista de IANA ) y ahora debe ser "aplicación / javascript" (vea otra lista de IANA ).
Si elige usar la aplicación / javascript para js en sus páginas, ¡IE7 e IE8 no ejecutarán su script! Culpe a Microsoft todo lo que quiera, pero si desea que la mayoría de las personas ejecuten sus páginas, use texto / javascript.
Solía ser language="javacript"
. Luego cambió a type="text/javascript"
. Ahora es type="application/javacript"
. Ok esto se está volviendo tonto. Algunos de los navegadores más antiguos no reconocen la nueva application/javascript
, pero aún reconocen el text/javascript
. Planeo seguir usando esto, o perderé horas de mi tiempo tratando de cambiar CADA instancia de text/javascript
en application/javascript
.
Ahora algún día lo opuesto podría ser cierto. Algún día, los navegadores más nuevos podrían rechazar la técnica anterior para cumplir estrictamente con los estándares.
Pero hasta que las personas que miran mi sitio web empiezan a quejarse de que "desde que actualicé mi navegador, aproximadamente el 50% de su sitio web desapareció", no tengo ningún motivo para cambiar el código en mi sitio web.
-
text/javascript
es obsoleto -
application/x-javascript
fue experimental al decidir pasar a ... -
application/javascript
es el tipo MIME oficial actual para JS
Dicho esto, los navegadores a menudo ignoran el content-type
enviado por el servidor y prestan mucha atención al atributo type
(y algunos aún no reconocen la application/javascript
).
Mi recomendación:
- Use la aplicación / javascript en el servidor
- Use HTML 5 y omita el atributo de
type
de los elementos de script