recursal/MDN huggingface dataset:
URL.createObjectURL
===================


 La méthode statique **URL.createObjectURL()** crée une chaîne contenant une URL représentant l'objet passé en paramètre. La durée de vie de l'URL est liée au `document` de la fenêtre depuis laquelle elle a été créée. La nouvelle URL d'objet représente l'objet `File` ou `Blob` spécifié.

Pour libérer une URL d'objet, il faut appeler `revokeObjectURL()`

**Note:** Cette fonctionnalité est disponible via les Web Workers

**Note :** Cette fonctionnalité n'est pas disponible dans les Service Workers à cause de possible fuite mémoire.

Syntaxe
-------


```js
objectURL = URL.createObjectURL(object);
```

### Paramètres

`object`

Un objet `File`, `Blob` ou `MediaSource` pour lequel créer une URL d'objet.

### Valeur de retour

Une `DOMString` contenant une URL d'objet, pouvant être utilisée comme une référence vers l'objet source `object` spécifié.

Exemple
-------

Voir Utilisation de l'objet URLs pour afficher des images.

Notes d'utilisation
-------------------

### Gestion de la mémoire

À chaque fois que vous appelez `createObjectURL()`, une nouvelle URL d'objet est créée, même si vous en avez déjà créée une pour le même objet. Chacune d'elles doit être libérée en appelant `URL.revokeObjectURL()` lorsque vous n'en avez plus besoin.

Les navigateurs libèrent automatiquement les URL d'objet lorsque le document est déchargé (*unload*) ; cependant, pour une performance et une utilisation de la mémoire optimales, si vous avez la possiblité de les libérer explictement sans danger, vous devriez le faire.

### Utiliser les URL d'objet pour les flux de média

Dans d'anciennes versions de la spécification de Media Source, attacher un flux à un élément `<video>` requérait de créer une URL d'objet pour le `MediaStream`. Cela n'est plus nécessaire, et les navigateurs cessent progressivement de supporter cette pratique.

**Attention :** si vous avez toujours du code qui repose sur `URL.createObjectURL` pour attacher des flux à des éléments média, vous devez mettre à jour votre code pour attacher simplement `srcObject` (en-US) directement au `MediaStream`.

Spécifications
--------------

| Specification |
| --- |
| File API # dfn-createObjectURL |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utiliser des fichiers à partir d'applications web
* Utilisation de l'objet URLs pour afficher des images
* `URL.revokeObjectURL()`
* `HTMLMediaElement.srcObject` (en-US)
* `FileReader.readAsDataURL()`
URL.toString()
==============

La méthode **`URL.toString()`** retourne un `USVString` contenant tout l'URL. C'est en effet, une version de `URL.href` (en-US) en lecture seule.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
string = url.toString();
```

### Paramètres

Aucun.

### Valeur de retour

Un `USVString`.

Examples
--------


```js
const url = new URL(
  "https://developer.mozilla.org/fr/docs/Web/API/URL/toString",
);
url.toString(); // doit retourner l'URL en tant que chaîne
```

Spécifications
--------------

| Specification |
| --- |
| URL Standard # URL-stringification-behavior |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `URL` à laquelle elle appartient.
URL.searchParams
================

 La propriété en lecture seule **`searchParams`** de l'interface `URL` retourne un objet `URLSearchParams` permettant d'accéder aux arguments décodés de la requête GET contenue dans l'URL.
**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
var urlSearchParams = URL.searchParams;
```

### Value

Un objet `URLSearchParams`.

Exemples
--------

 Si l'URL de votre page est `https://example.com/?nom=Jonathan%20Smith&age=18`
 vous pouvez extraire les paramètres 'nom' et 'age' en utilisant:


```js
let params = new URL(document.location).searchParams;
let name = params.get("nom"); // la chaine de caractère "Jonathan Smith".
let age = parseInt(params.get("age")); // le nombre 18
```

Spécifications
--------------

| Specification |
| --- |
| URL Standard # dom-url-searchparams |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
URL.revokeObjectURL()
=====================

La méthode statique **`URL.revokeObjectURL()`** libère une URL d'objet existante précédemment créée par un appel à `URL.createObjectURL()`. Appelez cette méthode quand vous n'utilisez plus une URL d'objet pour indiquer au navigateur qu'il ne doit plus garder de référence sur l'objet.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
window.URL.revokeObjectURL(objectURL);
```

### Paramètres

`objectURL`

Une `DOMString` représentant une URL d'objet qui a été précédemment créée par un appel à `createObjectURL()`.

### Valeur de retour

`undefined`.

Exemple
-------

Voir Utilisation de l'objet URLs pour afficher des images.

Spécifications
--------------

| Specification |
| --- |
| File API # dfn-revokeObjectURL |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utiliser des fichiers à partir d'applications web
* Utilisation de l'objet URLs pour afficher des images
* `URL.createObjectURL()`
URL.hash
========

La propriété **`hash`** de l'interface `URL` retourne un `USVString` contenant le caractère `'#'` suivi par l'identificateur de fragment de URL.

Le fragment n'est pas décodé en pourcent. Si l'URL ne contient pas d'identificateur de fragment, la valeur de cette propriété est une chaîne de caractère vide — `""`.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
string = object.hash;
object.hash = string;
```

### Valeur

Un `USVString`.

Exemples
--------


```js
var url = new URL(
  "https://developer.mozilla.org/fr/docs/Web/API/URL/href#Examples",
);
url.hash; // Returns '#Examples'
```

Spécifications
--------------

| Specification |
| --- |
| URL Standard # dom-url-hash |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `URL` dont il est contenu.
URL.search
==========

La propriété **`search`** de l'interface `URL` est une chaine d'interrogation, aussi appellée une chaine de recherche, c'est un `USVString` contenant le caractère `'?'` suivi des paramètres de l'URL.

Les navigateurs récents fournissent la propriété `URL.searchParams` qui permet d'analyser plus facilement les paramètres passés à la chaîne de recherche.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
chaineDeCaractere = objet.search;
object.search = chaineDeCaractere;
```

### Valeur

Un `USVString`.

Exemples
--------


```js
var url = new URL(
  "https://developer.mozilla.org/fr/docs/Web/API/URL/search?q=123",
);
var queryString = url.search; // Retourne:"?q=123"
```

Spécifications
--------------

| Specification |
| --- |
| URL Standard # dom-url-search |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `URL` associée.
Comment()
=========

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

Le constructeur **`Comment()`** renvoie un objet `Comment` *(Commentaire)* nouvellement créé avec le `DOMString` donné en paramètre comme contenu textuel.

Syntaxe
-------


```js
comment1 = new Comment(); // Create an empty comment
comment2 = new Comment("This is a comment");
```

Exemple
-------


```js
var comment = new Comment("Test");
```

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-comment-comment① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* The DOM interfaces index
BroadcastChannel.name
=====================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
La propriété en lecture seule **`BroadcastChannel.name`** retourne une chaîne qui identifie de manière unique le canal par son nom. Ce nom est passé au constructeur `BroadcastChannel()` lors de la création et est par conséquent en lecture seule.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Valeurs
-------

Une chaîne

Exemples
--------


```js
// Connexion à un canal
const canal = new BroadcastChannel("canal\_test");

// D'autres traitements (tel que postMessage, …)

// Affiche la propriété name du canal dans la console
console.log(canal.name); // "canal\_test"

// Lorsque les traitements sont terminés, déconnexion
canal.close();
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-broadcastchannel-name-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `BroadcastChannel`, l'interface à laquelle elle se rapporte.
BroadcastChannel()
==================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
Le constructeur **`BroadcastChannel()`** crée un nouvel objet `BroadcastChannel` et le connecte au canal sous-jacent.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
new BroadcastChannel(channelName);
```

### Paramètres

`channelName`

Une chaîne représentant le nom du canal ; il n'y a qu'un canal portant ce nom pour tous les contextes de navigation de la même origine.

Exemples
--------


```js
// crée un nouveau canal écoutant sur le canal "notification\_interne".

const bc = new BroadcastChannel("notification\_interne");
bc.postMessage("Nouvelle écoute connectée !");
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-broadcastchannel-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `BroadcastChannel`, l'interface à laquelle elle se rapporte.
BroadcastChannel : évènement messageerror
=========================================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
L'évènement `messageerror` est déclenché sur un objet `BroadcastChannel` lorsqu'un message qui n'a pas pu être désérialisé arrive dans le canal.

Syntaxe
-------

Utilisez le nom de l'évènement dans les méthodes telles que `addEventListener()`, ou définissez un gestionnaire d'évènements dans la propriété.


```js
addEventListener("messageerror", (event) => {});
onmessageerror = (event) => {};
```

Type de l'évènement
-------------------

Un `MessageEvent`. Hérite de l'interface `Event`.

Event

MessageEventPropriétés de l'évènement
-------------------------

*En plus des propriétés listées ci-dessous, les propriétés de l'interface parente `Event` sont accessibles.*

`data` (en-US) Lecture seule 

Les données envoyées par l'émetteur du message.

`origin` (en-US) Lecture seule 

Une chaîne représentant l'origine de l'émetteur du message.

`lastEventId` (en-US)Lecture seule 

Une chaîne représentant l'identifiant unique pour l'évènement.

`source` (en-US) Lecture seule 

Un `MessageEventSource`, qui peut être soit un `WindowProxy` (en-US), un `MessagePort` (en-US), ou un objet `ServiceWorker` représentant l'émetteur du message.

`ports` (en-US) Lecture seule 

Un tableau d'objets `MessagePort` (en-US) représentant les ports associés au canal par lequel le message est envoyé (lorsque c'est approprié, par exemple, dans le canal de communication ou lorsqu'un message est envoyé à un *worker* partagé).

Exemples
--------

Ce code utilise `addEventListener` pour écouter les messages et les erreurs :


```js
const canal = new BroadcastChannel("canal\_exemple");

canal.addEventListener("message", (event) => {
  received.textContent = event.data;
});

canal.addEventListener("messageerror", (event) => {
  console.error(event);
});
```


Voici un exemple similaire qui utilise les gestionnaires d'évènements `onmessage` et `onmessageerror` :


```js
const canal = new BroadcastChannel("canal\_exemple");

canal.onmessage = (event) => {
  received.textContent = event.data;
};

canal.onmessageerror = (event) => {
  console.log(event);
};
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # event-messageerror |
| HTML Standard # handler-broadcastchannel-onmessageerror |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Évènements liés : `message`.
BroadcastChannel.postMessage()
==============================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
La méthode **`BroadcastChannel.postMessage()`** envoie un message qui peut être de n'importe quel type d'`Object` à chaque écouteur de n'importe quel contexte de navigation d'une même origine. Le message est transmis en tant qu'évènement `message` ciblant chaque `BroadcastChannel` lié au canal.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
canal.postMessage(message);
```

### Paramètres

`message`

Données à envoyer à la fenêtre. Les données sont sérialisées en utilisant l'algorithme de clonage de structure. Cela signifie que vous pouvez passer un large spectre de type de données de manière sûre à la fenêtre de destination sans avoir à réaliser le traitement de sérialisation par vous-même.

### Valeur de retour

Aucune.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-broadcastchannel-postmessage-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `BroadcastChannel`, l'interface à laquelle elle se rapporte.
BroadcastChannel.close()
========================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
La méthode **`BroadcastChannel.close()`** ferme la connexion au canal sous-jacent, permettant à l'objet d'être libéré par le ramasse-miettes. Cette tâche est obligatoire puisqu'il n'y a aucun autre moyen pour le navigateur de savoir si ce canal est encore nécessaire.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
canal.close();
```

Exemple
-------


```js
// Connexion au canal
const bc = new BroadcastChannel("canal\_test");

// Autres opérations (tel que postMessage, …)

// Lorsque les traitements sont terminés, déconnexion du canal
bc.close();
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-broadcastchannel-close-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `BroadcastChannel`, l'interface à laquelle elle se rapporte.
UIEvent.detail
==============

**`UIEvent.detail`** est une propriété en lecture seule, qui, lorsqu'elle ne vaut pas zéro, donne le nombre de clics courant (ou suivant en fonction de l'événement).

Pour les événements `click` ou `dblclick`, `UIEvent.detail` donne le nombre de clics courant.

Pour les événements `mousedown` ou `mouseup`, `UIEvent.detail` donne le nombre de clics courant *plus* un.

Pour tous les autres objets `UIEvent`, `UIEvent.detail` vaut toujours zéro.

Spécifications
--------------

| Specification |
| --- |
| UI Events # dom-uievent-detail |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
table.caption
=============

### Résumé

**caption** renvoie la légende du tableau.

### Syntaxe


```js
string = table.caption;
```

### Exemple


```js
if (table.caption) {
  // On peut alors faire quelque chose avec la légende du tableau
}
```

### Notes

Cette propriété ne renvoie rien s'il n'y a aucune légende pour le tableau.

### Spécification

* DOM Level 2 HTML : caption (traduction)
* Interface HTMLTableCaptionElement (traduction)
table.insertRow
===============

La méthode **`HTMLTableElement.insertRow()`** insère une nouvelle ligne dans la table et retourne une référence à la nouvelle ligne.

Syntaxe
-------


```js
var ligne = HTMLTableElement.insertRow(optionnel indice = -1);
```


* `HTMLTableElement` est une référence à un élément table HTML.
* `indice` est l'indice de ligne de la nouvelle ligne.
* `ligne` reçoit la référence à la nouvelle ligne. Une référence à un HTMLTableRowElement. Si l'indice est -1 ou est égal au nombre de lignes, la ligne est ajoutée comme dernière ligne. Si `indice` est plus grand que le nombre de lignes, une exception IndexSizeError sera générée. Si indice est omis, sa valeur sera -1 par défaut.
* Si une table a plusieurs éléments `tbody`, par défaut, la nouvelle ligne est ajoutée dans le dernier `tbody`. Pour insérer la ligne dans un `tbody` particulier :


```js
var tbody_particulier = document.getElementById(id_tbody);
var ligne = tbody_particulier.insertRow(indice);
```

Exemple
-------


```html
<table id="TableA">
  <tr>
    <td>Ancienne ligne supérieure</td>
  </tr>
</table>
<script type="text/javascript">
 function ajouteLigne(tableID) {
 // Récupération d'une référence à la table
 var refTable = document.getElementById(tableID);

 // Insère une ligne dans la table à l'indice de ligne 0
 var nouvelleLigne = refTable.insertRow(0);

 // Insère une cellule dans la ligne à l'indice 0
 var nouvelleCellule = nouvelleLigne.insertCell(0);

 // Ajoute un nœud texte à la cellule
 var nouveauTexte = document.createTextNode("Nouvelle ligne supérieure");
 nouvelleCellule.appendChild(nouveauTexte);
 }

 // Appelle ajouteLigne() avec l'ID d'une table
 ajouteLigne("TableA");
</script>
```


Pour être valide dans un document HTML, un élément TR doit avoir au moins un élément TD.

Remarquez que `insertRow` insère directement la ligne dans la table et renvoie une référence à la nouvelle ligne. La ligne n'a pas besoin d'être ajoutée séparement comme cela aurait été le cas si `document.createElement()` avait été utilisé pour créer un nouvel élement TR.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-table-insertrow-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `HTMLTableRowElement.insertCell()`
Notification.lang
=================

**Note:** Cette fonctionnalité est disponible via les Web Workers

**Contexte sécurisé:** Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

La propriété en lecture seule **`lang`** de l'interface `Notification` indique la langue utilisée dans la notification, comme définis à l'aide de l'option `lang` lors de la création de la notification à l'aide du constructeur `Notification()`.

La langue elle-même est spécifiée à l'aide d'un `DOMString` représentant une balise de langue BCP 47. Consultez la page des codes de langue à 2 lettres ISO de Sitepoint pour une référence simple.

Syntaxz
-------
```

Notification.lang
```

### Valeur

Une `DOMString` spécifiant la balise de langue.

Spécifications
--------------

| Specification |
| --- |
| Notifications API Standard # dom-notification-lang |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utilisation de l'API Notifications
Notification.close()
====================

**Note:** Cette fonctionnalité est disponible via les Web Workers

**Contexte sécurisé:** Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

La méthode `close()` de l'interface `Notification` est utilisée pour fermer / supprimer une notification précédemment affichée.

**Note :** Cette API ne doit pas être utilisée uniquement pour supprimer la notification de l'écran après un délai fixe, car cette méthode supprimera également la notification de toute barre de notification, empêchant ainsi les utilisateurs d'interagir avec elle après son affichage initial. Une utilisation valable de cette API serait de supprimer une notification qui n'est plus pertinente (par exemple, l'utilisateur a déjà lu la notification sur la page Web dans le cas d'une application de messagerie ou la chanson suivante est déjà en cours de lecture dans une application musicale).

Syntaxe
-------


```js
Notification.close();
```

### Paramètres

Aucun.

### Returns

Void.

Exemples
--------

Dans l'extrait de code suivant, nous avons une simple fonction qui, lorsqu'elle est appelée, crée un objet `options`, puis de celui-ci une nouvelle notification. À la fin de la fonction, elle appelle également `close()` dans une fonction `addEventListener ()` pour supprimer la notification lorsque le contenu pertinent a été lu sur la page Web.


```js
function spawnNotification(theBody, theIcon, theTitle) {
  const options = {
    body: theBody,
    icon: theIcon,
  };

  const n = new Notification(theTitle, options);
  document.addEventListener("visibilitychange", () => {
    if (document.visibilityState === "visible") {
      // The tab has become visible so clear the now-stale Notification.
      n.close();
    }
  });
}
```

Spécifications
--------------

| Specification |
| --- |
| Notifications API Standard # dom-notification-close |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utilisation de l'API Notifications
Notification.onclose
====================

**Note:** Cette fonctionnalité est disponible via les Web Workers

**Contexte sécurisé:** Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

La propriété **`onclose`** de l'interface `Notification` définit un écouteur d'événements pour recevoir les événements `close`. Ces événements se produisent lorsqu'une `Notification` est fermée.

Syntaxe
-------


```js
Notification.onclose = function(event) { ... }
Notification.onclose = (event) => { ... }
```

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Notification`
* Utilisation de l'API Notifications