[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/API/HTMLScriptElement [Back]  [Original]

HTMLScriptElement - Les API Web | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

HTMLScriptElement

Baseline Large disponibilit *

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

* Certaines parties de cette fonctionnalit peuvent bnficier de prise en charge variables.

Les lments HTML <script> exposent l'interface HTMLScriptElement. Cette interface fournit des proprits et des mthodes pour dfinir le comportement et l'excution des lments <script> (en plus de celles hrites de HTMLElement).

Les fichiers JavaScript doivent tre servis avec le type MIME text/javascript. Les navigateurs acceptent ce type et bloquent le script uniquement s'il est servi avec un type image (image/*), vido (video/*), audio (audio/*) ou text/csv. Si le script est bloqu, l'lment reoit l'vnement error ; sinon, il reoit l'vnement load.

Note : Lorsqu'ils sont insrs l'aide de la mthode Document.write(), les lments HTML <script> s'excutent (gnralement de manire synchrone), mais lorsqu'ils sont insrs l'aide de Element.innerHTML ou Element.outerHTML, ils ne s'excutent pas du tout.

EventTarget Node Element HTMLElement HTMLScriptElement

Dans cet article

Proprits d'instance

Hrite des proprits de son parent, HTMLElement.

HTMLScriptElement.attributionSrc Contexte scuris

Obtient et dfinit l'attribut attributionsrc sur un lment <script> par programmation, refltant la valeur de cet attribut. attributionsrc indique que vous souhaitez que le navigateur envoie un en-tte Attribution-Reporting-Eligible avec la requte de ressource du script. Ct serveur, cela sert dclencher l'envoi d'un en-tte Attribution-Reporting-Register-Source ou Attribution-Reporting-Register-Trigger dans la rponse, afin d'enregistrer respectivement une source d'attribution ou un dclencheur d'attribution bas sur JavaScript.

HTMLScriptElement.async

Un boolen qui dfinit la faon dont le script doit tre excut. Pour les scripts classiques, si la proprit async est true, le script externe est rcupr en parallle de l'analyse et valu ds qu'il est disponible. Pour les modules, si la proprit async est true, le script et toutes ses dpendances sont rcuprs en parallle de l'analyse et valus ds qu'ils sont disponibles.

HTMLScriptElement.blocking

Une chane de caractres indiquant que certaines oprations doivent tre bloques lors de la rcupration du script. Elle reflte l'attribut blocking de l'lment <script>.

HTMLScriptElement.charset

Une chane de caractres reprsentant l'encodage du script externe. Elle reflte l'attribut charset.

HTMLScriptElement.crossOrigin

Une chane de caractres refltant le paramtre CORS pour l'lment script. Pour les scripts classiques provenant d'autres origines, cela dfinit si les informations d'erreur sont exposes.

HTMLScriptElement.defer

Un boolen qui dfinit la faon dont le script doit tre excut. Pour les scripts classiques, si la proprit defer est true, le script externe est excut aprs l'analyse du document, mais avant le dclenchement de l'vnement DOMContentLoaded. Pour les modules, la proprit defer n'a aucun effet.

HTMLScriptElement.event

Une chane de caractres ; mthode obsolte pour enregistrer des gestionnaires d'vnements sur les lments d'un document HTML.

HTMLScriptElement.fetchPriority

Une chane de caractres optionnelle reprsentant une indication donne au navigateur sur la priorit de rcupration d'un script externe par rapport aux autres scripts externes. Si cette valeur est fournie, elle doit tre l'une des valeurs autorises : high pour une priorit leve, low pour une priorit faible, ou auto pour indiquer aucune prfrence (valeur par dfaut). Elle reflte l'attribut fetchpriority de l'lment <script>.

HTMLScriptElement.innerText

Une proprit qui reprsente le contenu texte en ligne de l'lment HTML <script> comme s'il tait du texte rendu. La proprit accepte soit un objet TrustedScript soit une chane de caractres.

HTMLScriptElement.integrity

Une chane de caractres contenant des mtadonnes intgres que le navigateur peut utiliser pour vrifier qu'une ressource rcupre n'a pas t modifie de faon inattendue. Elle reflte l'attribut integrity de l'lment <script>.

HTMLScriptElement.noModule

Un boolen qui, si elle est vraie, empche l'excution du script dans les navigateurs qui prennent en charge les modules ES utilis pour excuter des scripts de secours dans les anciens navigateurs qui ne prennent pas en charge les modules JavaScript.

HTMLScriptElement.referrerPolicy

Une chane de caractres refltant l'attribut HTML referrerPolicy qui dfinit le rfrent utiliser lors de la rcupration du script et des requtes effectues par ce script.

HTMLScriptElement.src

Un objet TrustedScriptURL ou une chane de caractres reprsentant l'URL d'un script externe ; cela peut tre utilis comme alternative l'intgration directe d'un script dans un document. Elle reflte l'attribut src de l'lment <script>.

HTMLScriptElement.text

Une proprit qui reprsente le contenu texte en ligne de l'lment HTML <script>. La proprit accepte soit un objet TrustedScript soit une chane de caractres. Elle se comporte de la mme manire que la proprit textContent.

HTMLScriptElement.textContent

Une proprit qui reprsente le contenu texte en ligne de l'lment HTML <script>. La proprit est redfinie depuis l'objet Node pour prendre en charge TrustedScript comme valeur d'entre. Sur cet lment, elle se comporte exactement comme la proprit text.

HTMLScriptElement.type

Une chane de caractres reprsentant le type du script. Elle reflte l'attribut type de l'lment <script>.

Mthodes statiques

HTMLScriptElement.supports()

Retourne true si le navigateur prend en charge les scripts du type dfini, et false sinon. Cette mthode fournit un moyen simple et unifi de dtecter les fonctionnalits lies aux scripts.

Mthodes d'instance

Aucune mthode spcifique ; hrite des mthodes de son parent, HTMLElement.

vnements

Aucun vnement spcifique ; hrite des vnements de son parent, HTMLElement.

Exemples

Importation dynamique de scripts

Crons une fonction qui importe de nouveaux scripts dans un document en crant un nud <script> juste avant le <script> qui hberge le code suivant (avec document.currentScript). Ces scripts sont excuts de faon asynchrone. Pour plus de dtails, voir les proprits defer et async.

js
function loadError(oError) {
  throw new URIError(
    `Le script ${oError.target.src} n'a pas pu tre charg correctement.`,
  );
}

function prefixScript(url, onloadFunction) {
  const newScript = document.createElement("script");
  newScript.onerror = loadError;
  if (onloadFunction) {
    newScript.onload = onloadFunction;
  }
  document.currentScript.parentNode.insertBefore(
    newScript,
    document.currentScript,
  );
  newScript.src = url;
}

La fonction suivante, au lieu d'insrer les nouveaux scripts juste avant l'lment document.currentScript, les ajoute comme enfants de la balise <head>.

js
function loadError(oError) {
  throw new URIError(
    `Le script ${oError.target.src} n'a pas pu tre charg correctement.`,
  );
}

function affixScriptToHead(url, onloadFunction) {
  const newScript = document.createElement("script");
  newScript.onerror = loadError;
  if (onloadFunction) {
    newScript.onload = onloadFunction;
  }
  document.head.appendChild(newScript);
  newScript.src = url;
}

Exemple d'utilisation :

js
affixScriptToHead("myScript1.js");
affixScriptToHead("myScript2.js", () => {
  alert('Le script "myScript2.js" a t charg correctement.');
});

Vrification de la prise en charge d'un type de script

HTMLScriptElement.supports() fournit un mcanisme unifi pour vrifier si un navigateur prend en charge des types de scripts particuliers.

L'exemple ci-dessous montre comment vrifier la prise en charge des modules, en utilisant l'existence de l'attribut noModule comme solution de repli.

js
function checkModuleSupport() {
  if ("supports" in HTMLScriptElement) {
    return HTMLScriptElement.supports("module");
  }
  return "noModule" in document.createElement("script");
}

On suppose que les scripts classiques sont pris en charge par tous les navigateurs.

Spcifications

Spcification
HTML
# htmlscriptelement

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page