web-dev-qa-db-fra.com

Lors de la diffusion de fichiers JavaScript, est-il préférable d'utiliser l'application / javascript ou l'application / x-javascript

Toute la question s'inscrit dans le titre. Et pour ajouter un peu de contexte: je ne demande pas ce qui est le meilleur selon ce que disent les spécifications, mais plutôt ce qui fonctionne le mieux compte tenu de la combinaison de navigateurs déployés de nos jours.

Quelques points de données:

  • Google utilise text/javascript pour le JS utilisé sur leur page d'accueil.
  • Google utilise text/javascript sur Google Docs.
  • Google utilise application/x-javascript pour servir des fichiers JavaScript avec leur service de bibliothèques Ajax .
  • Yahoo utilise application/x-javascript pour servir leur JS.
  • Yahoo utilise application/x-javascript pour le JavaScript diffusé sur leur page d'accueil.
91
avernet
  • text/javascript est obsolète
  • application/x-javascript était expérimental en décidant de passer à…
  • application/javascript est le type MIME officiel actuel pour JS

Cela dit, les navigateurs ignorent souvent le content-type envoyé par le serveur et portez une grande attention à l'attribut type (et certains ne reconnaissent pas encore application/javascript).

Ma recommandation:

  • Utiliser application/javascript sur le serveur
  • Utilisez HTML 5 et omettez l'attribut type des éléments de script
114
Quentin

Dans la plupart des situations, le type MIME envoyé par le serveur ne fait aucune différence pratique. J'irais avec application/javascript , qui est également recommandé par un RFC.

14
Matthew Flaschen

Si vous choisissez d'utiliser application/javascript pour js dans vos pages, IE7 et IE8 n'exécuteront pas votre script! Blâmez Microsoft tout ce que vous voulez, mais si vous voulez que la plupart des gens exécutent vos pages, utilisez texte/javascript.

7
Drew B

C'était language="javacript". Ensuite, il est devenu type="text/javascript". C'est maintenant type="application/javacript". Ok cela devient stupide. Certains des anciens navigateurs ne reconnaissent pas le nouveau application/javascript, mais reconnaissent toujours les anciens text/javascript. J'ai l'intention de continuer à l'utiliser, sinon je perdrai des heures de mon temps à essayer de changer CHAQUE instance de text/javascript en application/javascript.
Maintenant, un jour, le contraire pourrait être vrai. Un jour, les nouveaux navigateurs pourraient rejeter l'ancienne technique afin d'être strictement conformes aux normes.
.

7
anon

Il s'agissait de "texte/javascript" mais c'est obsolète (voir Liste IANA ) et maintenant il devrait être "application/javascript" (voir ne autre liste IANA ).

6
Tim Büthe