recursal/MDN huggingface dataset:
NodeIterator.filter
===================

La méthode en lecture seule **`NodeIterator.filter`** renvoie un objet `NodeFilter`, c'est-à-dire un objet implémentant la méthode `acceptNode(node)`, utilisée pour filtrer les noeuds.

Lors de la création du `NodeIterator`, l'objet filtre est transmis en 3ème paramètre et l'objet méthode `acceptNode(node)` est appelé sur chaque noeud pour déterminer s'il doit ou non l'accepter. Cette fonction doit renvoyer la constante `NodeFilter.FILTER_ACCEPT` quand le noeud doit être accepté et `NodeFilter.FILTER_REJECT` s'il doit être rejeté.

Syntaxe
-------


```js
nodeFilter = nodeIterator.filter;
```

Exemple
-------


```js
var nodeIterator = document.createNodeIterator(
  document.body,
  NodeFilter.SHOW\_ELEMENT,
  {
    acceptNode: function (node) {
      return NodeFilter.FILTER\_ACCEPT;
    },
  },
  false,
);
nodeFilter = nodeIterator.filter;
```

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

| Specification |
| --- |
| DOM Standard # dom-nodeiterator-filter |

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

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

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

* L'interface à laquelle cette propriété appartient : `NodeIterator`.
NodeIterator.root
=================

La propriété en lecture seule **`NodeIterator.root`** représente le `Node` qui est la racine de ce que le `NodeIterator` traverse.

Syntaxe
-------


```js
root = nodeIterator.root;
```

Exemple
-------


```js
var nodeIterator = document.createNodeIterator(
  document.body,
  NodeFilter.SHOW\_ELEMENT,
  {
    acceptNode: function (node) {
      return NodeFilter.FILTER\_ACCEPT;
    },
  },
  false,
);
root = nodeIterator.root; // document.body dans ce cas
```

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

| Specification |
| --- |
| DOM Standard # dom-nodeiterator-root |

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

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

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

* L'interface à laquelle elle appartient : `NodeIterator`.
NodeIterator.pointerBeforeReferenceNode
=======================================

**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.

La propriété en lecture seule **`NodeIterator.pointerBeforeReferenceNode`** renvoie un `Boolean` (en-US) (booléen) qui indique si le `NodeFilter` est ancré avant (si la valeur est `true` (*vrai*)) ou après (`false` (*faux*)) le noeud-ancre indiqué par la propriété `NodeIterator.referenceNode`.

Syntaxe
-------


```js
flag = nodeIterator.pointerBeforeReferenceNode;
```

Exemple
-------


```js
var nodeIterator = document.createNodeIterator(
  document.body,
  NodeFilter.SHOW\_ELEMENT,
  {
    acceptNode: function (node) {
      return NodeFilter.FILTER\_ACCEPT;
    },
  },
  false,
);
flag = nodeIterator.pointerBeforeReferenceNode;
```

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

| Specification |
| --- |
| DOM Standard # dom-nodeiterator-pointerbeforereferencenode |

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

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

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

* L'interface à laquelle elle appartient : `NodeIterator`
NodeIterator.detach()
=====================

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

La méthode **`NodeIterator.detach()`** est une non opération, conservée seulement pour la rétro-compatibilité.

Initialement, elle détachait `NodeIterator` de l'ensemble sur lequel il itérait, libérant toutes les ressources utilisées par lui et basculant son état à `INVALID`. Une fois cette méthode utilisée, l'appel d'autres méthodes sur le `NodeIterator` déclenchait une exception `INVALID_STATE_ERR`.

Syntaxe
-------


```js
nodeIterator.detach();
```

Exemple
-------


```js
var nodeIterator = document.createNodeIterator(
  document.body,
  NodeFilter.SHOW\_ELEMENT,
  {
    acceptNode: function (node) {
      return NodeFilter.FILTER\_ACCEPT;
    },
  },
  false,
);
nodeIterator.detach(); // détache l'itérateur

nodeIterator.nextNode(); // lance une exception INVALID\_STATE\_ERR
```

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

| Specification |
| --- |
| DOM Standard # dom-nodeiterator-detach |

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

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

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

* L'interface à laquelle elle appartient : `NodeIterator`.
HTMLCollection.item
===================

`HTMLCollection.item()` récupère un élément par sa position.

### Paramètres

index

La position de l'élement à retourner. Les éléments apparaissent dans une HTMLCollection dans le même ordre que celui du document source.

### Valeur de retour

L'élement à la position spécifiée, ou null si la position est inférieure à zéro ou supérieure ou égale à la valeur de la propriété `length`.

Description
-----------

La méthode `item()` retourne un élément numéroté d'une HTMLCollection. En Javascript, il est plus simple de traiter une HTMLCollection comme un tableau et d'utiliser les indexes comme pour les tableaux.

Exemple
-------


```js
var c = document.images; // Ceci est une HTMLCollection.
var img0 = c.item(0); // Vous pouvez utiliser la méthode item comme ceci,
var img1 = c[1]; // Mais cette notation est plus simple et plus commune
```

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

* `NodeList.item()`
GeolocationPosition.timestamp
=============================

**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 **`GeolocationPosition.timestamp`** retourne un objet `DOMTimeStamp` représentant la date et l'heure de la création de l'objet `GeolocationPosition` auquel il appartient. La précision est de l'ordre de la milliseconde.

Syntaxe
-------


```js
var timestamp = geolocationPositionInstance.timestamp;
```

### Valeur

Un objet `DOMTimeStamp`.

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

| Specification |
| --- |
| Geolocation API # timestamp-attribute |

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

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

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

* Utiliser l'API de Geolocation (en-US)
* `GeolocationPosition`
BiquadFilterNode.frequency
==========================

La propriété `frequency` de l'interface `BiquadFilterNode` est un `AudioParam` de type k-rate (en-US) : un nombre flottant à double précision représentant une fréquence de l'algorithme de filtrage courant, exprimée en hertz (Hz).

Sa valeur par défaut est de `350` avec une portée nominale de `10` à la fréquence de Nyquist, qui est la moitié de la fréquence d'échantillonnage.

Syntaxe
-------


```js
var contexteAudio = new AudioContext();
var filtreBiquad = contexteAudio.createBiquadFilter();
filtreBiquad.frequency.value = 3000;
```


**Note :** Bien que le `AudioParam` renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

### Valeur

Un `AudioParam`.

Exemple
-------

L'exemple suivant montre l'utilisation basique d'un AudioContext pour créer un filtre Biquad. Pour un exemple complet, consultez notre démo voice-change-o-matic (et son code source).


```js
var contexteAudio = new (window.AudioContext || window.webkitAudioContext)();

// mise en place des différents noeuds audio que nous utiliserons par la suite
var analyseur = contexteAudio.createAnalyser();
var distortion = contexteAudio.createWaveShaper();
var noeudGain = contexteAudio.createGain();
var filtreBiquad = contexteAudio.createBiquadFilter();
var convolution = contexteAudio.createConvolver();

// connecte les noeuds ensemble

source = audioCtx.createMediaStreamSource(stream);
source.connect(analyseur);
analyseur.connect(distortion);
distortion.connect(filtreBiquad);
biquadFilter.connect(convolution);
convolution.connect(noeudGain);
noeudGain.connect(contexteAudio.destination);

// manipule le filtre Biquad

filtreBiquad.type = "lowshelf";
filtreBiquad.frequency.value = 1000;
filtreBiquad.gain.value = 25;
```

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

| Specification |
| --- |
| Web Audio API # dom-biquadfilternode-frequency |

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

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

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

* Utiliser la Web Audio API (en-US)
ImageData.data
==============

La propriété en lecteur seul `ImageData.data` retourne un `Uint8ClampedArray`. Il représente un tableau unidirectionnel contenant les données sous forme d'entiers inclus entre 0 et 255 dans l'ordre RGBA comme ceci : `[r1,g1,b1,a1,…,rn;gn;bn;an]`.

Syntaxe
-------


```js
imagedata.data;
```

Exemple
-------


```js
var imagedata = new ImageData(100, 100);
imagedata.data; // Uint8ClampedArray[40000]
```

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

| Specification |
| --- |
| HTML Standard # dom-imagedata-data-dev |

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

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

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

* `ImageData.height` (en-US)
* `ImageData.width` (en-US)
Crypto : méthode randomUUID()
=============================

**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 **`randomUUID()`**, rattachée à l'interface `Crypto`, est utilisée pour générer un UUID v4 en utilisant un générateur de nombres aléatoires sécurisé.

Syntaxe
-------


```js
randomUUID()
```

### Paramètres

Aucun.

### Valeur de retour

Une chaîne de caractères générées aléatoirement et qui est un UUID au format v4 sur 36 caractères.

Exemples
--------

On accède à cette méthode à l'aide de la propriété globale `crypto`.


```js
/\* Si self.crypto.randomUUID() est bien disponible : \*/

const uuid = self.crypto.randomUUID();
console.log(uuid); // par exemple "36b8f84d-df4e-4d49-b662-bcde71a8764f"
```

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

| Specification |
| --- |
| Web Cryptography API # Crypto-method-randomUUID |

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

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

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

* L'API Web Crypto
* La propriété globale `crypto` qui permet d'obtenir un objet `Crypto`.
* `Crypto.getRandomValues()` qui permet d'obtenir des valeurs aléatoires sécurisées sur autant d'octets que souhaité.
Crypto.subtle
=============

**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é **`Crypto.subtle`** en mode lecture seule retourne un objet `SubtleCrypto` (en-US) permettant de réaliser des opérations cryptographiques.

Syntaxe
-------


```js
var crypto = crypto.subtle;
```

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

| Specification |
| --- |
| Web Cryptography API # Crypto-attribute-subtle |

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

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

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

* `Crypto`.
* `SubtleCrypto` (en-US).
Worker.onmessage
================

La propriété **`onmessage`** de l'interface `Worker` représente un gestionnaire d'évènement, à savoir une fonction qui est appelée lorsque l'événement `message` survient. Ces événements sont du type `MessageEvent` et sont appelés quand le parent du worker reçoit un message (c'est-à-dire à partir de la méthode `DedicatedWorkerGlobalScope.postMessage` (en-US)).

**Note :** Le contenu du message est fourni par la propriété `data` de l'événement `message`.

Syntaxe
-------


```js
myWorker.onmessage = function(e) { ... }
```

Exemple
-------

L'extrait de code suivant illustre la création d'un objet `Worker` utilisant le constructeur `Worker()`. Les messages sont passés au worker lorsque la valeur de l'élément de formulaire `first` change. Un gestionnaire onmessage est également présent pour s'occuper des messages retournés par le worker.


```js
var myWorker = new Worker("worker.js");

first.onchange = function () {
  myWorker.postMessage([first.value, second.value]);
  console.log("Message envoyé au worker");
};

myWorker.onmessage = function (e) {
  result.textContent = e.data;
  console.log("Message reçu du worker");
};
```


Dans le script `worker.js`, un gestionnaire `onmessage` se charge des messages en provenance du script principal :


```js
onmessage = function (e) {
  console.log("Message reçu du script principal");
  var workerResult = "Result: " + e.data[0] \* e.data[1];
  console.log("Renvoi d'un message au script principal");
  postMessage(workerResult);
};
```


Remarquez comment dans le script principal, `onmessage` doit être appelée par `myWorker`, tandis que dans le script du worker vous avez juste besoin d'appeler `onmessage` parce que le worker est en réalité le contexte global (`DedicatedWorkerGlobalScope`).

Pour un exemple complet, consulter notre Exemple basique de worker dédié (lancez le worker dédié).

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

| Specification |
| --- |
| HTML Standard # event-message |

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

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

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

L'interface `Worker` à laquelle elle appartient.
Worker.terminate()
==================

La méthode **`terminate()`** de l'interface `Worker` termine immédiatement le `Worker`. Cette interruption ne permet pas au worker de finaliser ses opérations, il est juste arrêté sur le champ.

Syntaxe
-------


```js
myWorker.terminate();
```

### Paramètres

Aucun.

### Valeur de retour

Néant.

Exemple
-------

L'extrait de code suivant montre la création d'un objet `Worker` en utilisant le constructeur `Worker()`, qui est alors immédiatement interrompu.


```js
var myWorker = new Worker("worker.js");

myWorker.terminate();
```


**Note :** Les *workers* dédiés ou partagés peuvent également être stoppés par l'instance même du *worker* en utilisant les méthodes `DedicatedWorkerGlobalScope.close()` ou `SharedWorkerGlobalScope.close()` (en-US).

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

| Specification |
| --- |
| HTML Standard # dom-worker-terminate-dev |

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

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

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

* L'interface `Worker`
* `DedicatedWorkerGlobalScope.close()`
* `SharedWorkerGlobalScope.close()` (en-US)
Worker()
========

Le constructeur **`Worker()`** crée un objet `Worker` qui exécute le script à l'URL spécifiée. Ce script doit obéir à la same-origin policy.

**Note :** il y a un désaccord entre les éditeurs de navigateur sur la question de savoir si une donnée URI relève ou non de la même origine. Bien que Gecko 10.0 et suivant accepte les données URIs, ce n'est pas le cas dans tous les autres navigateurs.

Syntaxe
-------


```js
var myWorker = new Worker(aURL, options);
```

### Arguments

*aURL*

Est un `DOMString` représentant l'URL du script que le worker va exécuter. Il doit obéir à la same-origin policy.

options Facultatif

Un objet contenant des propriétés pour définir les options. Les propriétés suivantes sont valables:

* `type`: Une `DOMString` définissant le type de worker à créer. The valeur peuvent être `classic` ou `module`. Si cette prpriété n'est pas définie, la valeur sera `classic`.
* `credentials` : une `DOMString` définissant le type de politique d'origine à utiliser pour le *worker*. Les valeurs peuvent être `omit`, `same-origin` ou *`include`*. *Si cette propriété n'est pas définie, ou que type est défini à `classic`, la valeur sera `classic`.*
* `name`: Une `DOMString` définissant un identifiant pour l'environment du worker `DedicatedWorkerGlobalScope`, souvent utilisé pour le débogage.

### Exceptions

* `SecurityError` est levé si le document n'est pas autorisé à démarer des *workers*; par exemple si l'URL à une syntaxe invalide ou que la politique d'origine n'est pas respectée.
* `NetworkError` est levé si le type MIME du script du worker est incorect. Il doit toujours être défini à `text/javascript`.
* `SyntaxError` est levé si l'URL ne peut pas être analysée.
Exemple
-------

L'extrait de code suivant illustre la création d'un objet `Worker` en utilisant le constructeur `Worker()` et l'usage qui peut alors en être fait :


```js
var myWorker = new Worker("worker.js");

first.onchange = function () {
  myWorker.postMessage([first.value, second.value]);
  console.log("Message envoyé au worker");
};
```


Pour un exemple complet, consultez notre exemple basique d'un worker dédié (lancer le worker dédié).

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

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

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

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

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

L'interface `Worker` auquel il appartient.
URL()
=====

Le constructeur **`URL()`** renvoie un nouvel objet `URL` représentant l'URL définie par les paramètres.

Si l'URL de base donnée ou l'URL résultante ne sont pas des URL valides, une `DOMException` de type `SYNTAX_ERROR` est levée.

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

Syntaxe
-------
```

url = new URL(url, [base])
```

### Paramètres

*url*

Un `USVString` représentant une URL absolue ou relative. Si l'URL est une URL relative, la base est obligatoire et sera utilisée comme URL de base. Si url est une URL absolue, une base donnée sera ignorée.

*base* Facultatif

Un `USVString` représentant l'URL de base à utiliser dans le cas où l'URL est une URL relative. Si non spécifié, il est par défaut à `''`.


**Note :** Vous pouvez toujours utiliser un objet `URL` existant pour la base, qui se stringifie en attribut `href` de l'objet.

### Exceptions

| Exception | Explication |
| --- | --- |
| `TypeError` | url (dans le cas d'URL absolues) ou base + URL (dans le cas d'URL relatives) n'est pas une URL valide. |

Exemple
-------


```js
var a = new URL("/", "https://developer.mozilla.org"); // Crée une URL pointant vers 'https://developer.mozilla.org/'
var b = new URL("https://developer.mozilla.org"); // Crée une URL pointant vers 'https://developer.mozilla.org/'
var c = new URL("en-US/docs", b); // Crée une URL pointant vers 'https://developer.mozilla.org/en-US/docs'
var d = new URL("/en-US/docs", b); // Crée une URL pointant vers 'https://developer.mozilla.org/en-US/docs'
var f = new URL("/en-US/docs", d); // Crée une URL pointant vers 'https://developer.mozilla.org/en-US/docs'
var g = new URL("/en-US/docs", "https://developer.mozilla.org/fr-FR/toto");
// Crée une URL pointant vers 'https://developer.mozilla.org/en-US/docs'
var h = new URL("/en-US/docs", a); // Crée une URL pointant vers 'https://developer.mozilla.org/en-US/docs'
var i = new URL("/en-US/docs", ""); // Déclenche une exception TypeError car '' n'est pas une URL valide
var j = new URL("/en-US/docs"); // Déclenche une exception TypeError car '/ fr-US / docs' n'est pas une URL valide
var k = new URL("http://www.example.com", "https://developers.mozilla.com");
// Crée une URL pointant vers 'http://www.example.com/'
var l = new URL("http://www.example.com", b); // Crée une URL pointant vers 'http://www.example.com/'
```

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

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

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

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

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

* L'interface à laquelle il appartient : `URL`.
URL.protocol
============

La propriété **`protocol`** de l'interface `URL` est une `USVString` représentant le schéma protocolaire de URL, incluant `':'` à la fin.

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

Syntaxe
-------


```js
string = object.protocol;
object.protocol = string;
```

### Valeur

Un `USVString`.

Exemples
--------


```js
var url = new URL("https://developer.mozilla.org/fr/docs/Web/API/URL/protocol");
var result = url.protocol; // Retourne:"https:"
```

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

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

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.toJSON()
============

La méthode **`toJSON()`** de l'interface `URL` retourne un `USVString` contenant une version sérialisé de l'URL, même si dans la pratique, il semble avoir le même effet que `URL.toString()`.

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

Syntaxe
-------


```js
json = url.toJSON();
```

### Paramètres

Aucun.

### Valeur retournée

A `USVString`.

Exemples
--------


```js
const url = new URL(
  "https://developer.mozilla.org/fr/docs/Web/API/URL/toString",
);
url.toJSON();
```

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

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

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

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