Quel est le type MIME javascript pour l'attribut type d'une balise de script? [dupliquer]
-
06-07-2019 - |
Question
Cette question a déjà une réponse ici:
- utiliser l'application / javascript ou application / x-javascript 5 réponses
Quel est le type de MIME de javascript?
Plus précisément, quelle est la bonne chose à mettre dans le "type" attribut d'une balise script? application / x-javascript
et text / javascript
semblent être les principaux candidats.
La solution
C'est une erreur commune. Le type MIME pour javascript n'a pas été normalisé pendant des années. C'est maintenant officiellement : " application / javascript " ;.
En réalité, la plupart des navigateurs n’utiliseront pas cet attribut, du moins pas dans le cas de la balise script. Ils jettent un coup d’œil à l’intérieur du paquet et en déterminent le type.
La ligne de fond est donc que le type = & text; text / javascript " ne fait rien en ce qui concerne le javascript, mais il fait partie des spécifications de HTML 4 et de XHTML 1.0 .
Autres conseils
De loin, c’est la première page que j’ai trouvée sur le sujet qui ait du sens.
Ma recherche collective suggère:
-
text / javascript
, comme Keparo l’a indiqué, doit être utilisé en html4 et xhtml1 si vous souhaitez que celui-ci soit validé. Bien que les navigateurs l'ignorent. -
application / javascript
devrait être le nouveau type MIME officiel si tout le monde est d'accord et que tout se rétablit. -
application / x-javascript
(x signifie non officiel) est la référence MIME actuelle côté serveur pour javascript. - Tout le monde s’attend à ce que, comme d’habitude, Microsoft décide de faire quelque chose de complètement différent pour semer la confusion et compliquer les choses.
Résumé: pour l’instant, si vous souhaitez que votre code HTML / xhtml fonctionne dans MSIE et validez avec W3C, déclarez type = " text / javascript &
. Si vous voulez que votre serveur Web sache que vous voulez dire javascript, utilisez application / x-javascript
.
text / javascript
Je pense qu'IE n'accepte pas application / x-javascript
Dans une balise de script, j'utilisais text / javascript. Cela apparaît quand même dans la spécification HTML 4.0.
http://www.w3.org/TR/REC -html40 / interact / scripts.html
[EDIT] C'est drôle comment le RFC celui normalisé sur application / javascript a 2 ans, mais text / javascript est encore plus courant. Est-ce encore un autre cas de coutume triomphant des normes? Il apparaît également dans HTML5 .
Le RFC officiel qui définit le type MIME Javascript est RFC4329 .
7. JavaScript Media Types 7.1. text/javascript (obsolete) Type name: text Subtype name: javascript Required parameters: none Optional parameters: charset, see section 4.1. Encoding considerations: The same as the considerations in section 3.1 of [RFC3023]. Security considerations: See section 5. Interoperability considerations: None, except as noted in other sections of this document. Published specification: [JS15] Applications which use this media type: Script interpreters as discussed in this document. Additional information: Magic number(s): n/a File extension(s): .js Macintosh File Type Code(s): TEXT Person & email address to contact for further information: See Author's Address section. Intended usage: OBSOLETE Restrictions on usage: n/a Author: See Author's Address section. Change controller: The IESG. 7.2. application/javascript Type name: application Subtype name: javascript Required parameters: none Optional parameters: charset, see section 4.1. Encoding considerations: The same as the considerations in section 3.2 of [RFC3023]. Security considerations: See section 5. Interoperability considerations: None, except as noted in other sections of this document. Published specification: [JS15] Applications which use this media type: Script interpreters as discussed in this document. Additional information: Magic number(s): n/a File extension(s): .js Macintosh File Type Code(s): TEXT Person & email address to contact for further information: See Author's Address section. Intended usage: COMMON Restrictions on usage: n/a Author: See Author's Address section. Change controller: The IESG.