texte .js, .mjs

text/javascript

Type MIME standard des fichiers JavaScript. Remplace les anciens types application/javascript et application/x-javascript, désormais obsolètes.

Description

text/javascript est le type MIME officiel pour JavaScript, standardisé par la RFC 9239 (2022). Il remplace les anciens types application/javascript et application/x-javascript. Les modules ES (import/export) utilisent le même type MIME, qu’ils aient l’extension .js ou .mjs.

Usage en HTML

Script externe :

<script src="/js/app.js"></script>
<!-- Le serveur retourne text/javascript -->

Module ES :

<script type="module" src="/js/app.mjs"></script>

En-tête HTTP :

Content-Type: text/javascript; charset=UTF-8

Dans un <link rel="preload"> :

<link rel="preload" href="/js/critique.js" as="script" type="text/javascript">

Notes

application/javascript obsolète : la RFC 9239 (mai 2022) déclare application/javascript obsolète en faveur de text/javascript. En pratique, les navigateurs acceptent les deux, mais text/javascript est désormais la valeur correcte.

type="text/javascript" inutile en HTML5 : l’attribut type sur <script> est superflu si la valeur est text/javascript — c’est la valeur par défaut. Ne l’écrire que pour les modules (type="module") ou les templates.

MIME sniffing bloqué : comme pour CSS, les navigateurs modernes bloquent l’exécution des scripts servis avec un type MIME incorrect (ex. text/plain).