recursal/MDN huggingface dataset:
PerformanceResourceTiming.toJSON()
==================================

La méthode **`toJSON()`** est un *sérialiseur* qui retourne une représentation JSON de l'objet `PerformanceResourceTiming`.

Syntaxe
-------


```js
let json = resourcePerfEntry.toJSON();
```

### Arguments

Aucun.

### Valeur de retour

`json`

Un objet JSON qui est la sérialisation de l'objet `PerformanceResourceTiming` comme une carte avec des entrées de l'interface héritée la plus proche et avec des entrées pour chacun des attributs sérialisables.

Exemple
-------


```js
// Obtient une entrée de performance des ressources
let perfEntries = performance.getEntriesByType("resource");
let entry = perfEntries[0];

// Récupère le JSON et l'enregistre
let json = entry.toJSON();
let s = JSON.stringify(json);
console.log("PerformanceEntry.toJSON = " + s);
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-tojson |

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

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

La propriété **`initiatorType`** en lecture seule est une chaîne de caractères qui représente le *type* de ressource qui a initié l'événement de performance.

La valeur de cette chaîne est la suivante:

* Si l'initiateur est un `Element`, la propriété retourne la propriété `localName` de l'élément.
* Si l'initiateur est une ressource `CSS`, la propriété renvoie « `css` ».
* Si l'initiateur est un objet `XMLHttpRequest`, la propriété renvoie « `xmlhttprequest` ».
* Si l'initiateur est un objet `PerformanceNavigationTiming`, la propriété renvoie une chaîne vide (`""`).

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

Syntaxe
-------


```js
resource.initiatorType;
```

### Valeur de retour

Une chaîne de caractères (`DOMString`) représentant le *type* de ressource qui a initié l'événement de performance, comme spécifié ci-dessus.

Exemple
-------


```js
function print\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    print\_initiatorType(p[i]);
  }
}
function print\_initiatorType(perfEntry) {
  // Imprime la valeur initiatorType de cet objet d'entrée de performance
  let value = "initiatorType" in perfEntry;
  if (value) console.log("... initiatorType = " + perfEntry.initiatorType);
  else console.log("... initiatorType = N'EST PAS pris en charge");
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-initiatortype |

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

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

La propriété **`DataTransfer.files`** est une `liste de fichier` issue d'une manipulation de glisser-déposer. Si l'opération n'inclut pas de fichier, alors la liste est vide.

Cette fonctionnalité peut être utilisée pour glisser des fichiers du bureau utilisateur au navigateur.

Syntaxe
-------


```js
dataTransfer.files;
```

### Valeur de retour

Une `liste` de fichiers associés au "glisser", un élément de liste pour chaque fichier dans l'opération. Si l'opération de "glisser" ne contient aucun fichier alors la liste est vide.

Exemple
-------

Voici deux exemples :

* Seulement Firefox : http://jsfiddle.net/9C2EF/
* Tous les navigateurs : https://jsbin.com/hiqasek/
Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-datatransfer-files-dev |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Localisation des éléments DOM avec les sélecteurs
=================================================

L'API Selectors fournit des méthodes simples et rapides pour retrouver les noeuds `Element` du DOM par correspondance avec un jeu de sélecteurs. C'est beaucoup plus rapide que les techniques passées, pour lesquelles il était nécessaire, par exemple, d'utiliser une boucle en code JavaScript pour localiser l'élément spécifique que l'on devait trouver.

L'interface NodeSelector
------------------------

Cette spécification ajoute deux nouvelles méthodes à tous les objets mettant en oeuvre les interfaces `Document`, `DocumentFragment` ou `Element` :

`querySelector`

Renvoie le premier noeud `Element` correspondant dans la sous-arborescence du noeud. Si aucun noeud correspondant n'est trouvé, `null` est renvoyé.

`querySelectorAll`

Renvoie une `NodeList` (*liste de noeuds*) contenant tous les noeuds `Element` correspondants dans la sous-arborescence du noeud, ou une `NodeList` vide si aucune correspondance n'a été trouvée.


**Note :** La `NodeList` retournée par `querySelectorAll()` n'est pas directe. À la différence des autres méthodes de requêtes DOM qui retournent une liste de noeuds directe.

Vous pouvez trouver des exemples et des détails en lisant la documentation sur les méthodes `querySelector()` et `querySelectorAll()`, ainsi que dans l'article Extraits de code pour querySelector.

Sélecteurs
----------

Les méthodes de Selector acceptent un ou plusieurs sélecteurs séparés par des virgules pour déterminer les éléments à renvoyer. Par exemple, pour sélectionner tous les éléments paragraphe (`p`) dans le document dont la classe CSS est soit `warning` soit `note`, vous pouvez utiliser ce qui suit :


```js
var special = document.querySelectorAll("p.warning, p.note");
```


Vous pouvez aussi interroger par l'ID (*identifiant*). Par exemple :


```js
var el = document.querySelector("#main, #basic, #exclamation");
```


Après l'exécution du code ci-dessus, `el` contient le premier élément dans le document dont l'ID est `main`, `basic` ou `exclamation`.

Vous pouvez utiliser tous les sélecteurs CSS avec les méthodes `querySelector()` et `querySelectorAll()`.

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

* API Selectors (en)
* `element.querySelector`
* `element.querySelectorAll`
* `document.querySelector`
* `document.querySelectorAll`
* Extraits de code pour querySelector
Exemple
=======


```html
 <html>
 <head>
   <title>Mon Document</title>
   <script type="text/javascript">
 function change() {
 // document.getElementsByTagName("H1") renvoie une NodeList (liste de noeuds) de h1
 // les éléments dans le document dont le premier a le numéro 0 :
 var header = document.getElementsByTagName("H1").item(0);
 // le firstChild (premier enfant) de l'en-tête est un noeud Texte :
 header.firstChild.data = "Un document dynamique";
 // maintenant l'en-tête est "Un document dynamique".
 var para = document.getElementsByTagName("P").item(0);
 para.firstChild.data = "C'est le premier paragraphe.";
 // créer un nouveau noeud Texte pour le second paragraphe
 var newText = document.createTextNode("Ceci est le second paragraphe.");
 // créer un nouvel Element devant être le second paragraphe
 var newElement = document.createElement("P");
 // placer le texte dans le paragraphe
 newElement.appendChild(newText);
 // et placer le paragraphe à la fin du document par son ajout
 // le BODY (corps) (qui est le parent de para)
 para.parentNode.appendChild(newElement);
 }
 </script>
 </head>
 <body>
   <input type="button" value="Modifier ce document." onclick="change()">
   <h1>Header</h1>
   <p>Paragraph</p>
 </body>
 </head>
```
ExtendableEvent.ExtendableEvent()
=================================

**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 contructeur **`ExtendableEvent()`** crée un nouvel objet `ExtendableEvent`.

Syntaxe
-------


```js
var myExtendableEvent = new ExtendableEvent(type, init);
```

### Paramètres

*type*

Une chaîne de caractères avec le nom de l'évènement, sensible à la casse.

*init* Facultatif

Un objet d'options contenant n'importe quelle configuration personnalisée que vous voulez appeler à un objet d'évènement. Pour le moment, il n'existe pas d'option dans la spécification, mais il a été défini pour une compatibilité future pour les différents évènements dérivés.

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

| Specification |
| --- |
| Service Workers # dom-extendableevent-extendableevent |

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

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

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

* Utilisation des Service Workers (en-US)
* Exemple simple de service workers
* Les ServiceWorker sont-ils prêts?
* `Promise`
* Utilisation performante des web workers (en-US)
Window.mozAnimationStartTime
============================

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

Newly availableSince September 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
**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

Renvoie l'heure, en millisecondes depuis l'époque, à laquelle les animations ont commencé maintenant doivent être considérées comme ayant commencé. Cette valeur doit être utilisée à la place, par exemple, `Date.now()`, car cette valeur sera la même pour toutes les animations lancées dans cette fenêtre pendant cet intervalle d'actualisation, leur permettant de rester synchronisées les unes avec les autres.

Cela permet également aux animations basées sur JavaScript de rester synchronisées avec les transitions CSS et les animations SMIL déclenchées pendant le même intervalle d'actualisation.

Syntaxe
-------


```js
time = window.mozAnimationStartTime;
```

### Paramètres

* *`time`* est le temps en millisecondes depuis l'époque à laquelle les animations de la fenêtre actuelle doivent être considérées comme ayant démarré.
Compatibilité des navigateurs
-----------------------------

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

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

* `window.mozRequestAnimationFrame()` (en-US)
* `window.onmozbeforepaint`
HTMLFormElement.action
======================

La propriété **`HTMLFormElement.action`** représente l'action associée à l'élément `<form>`.

L'action d'un formulaire est le programme exécuté sur le serveur lorsque le formulaire est soumis. Cette propriété peut être récupérée ou définie.

Syntaxe
-------


```js
string = form.action;
form.action = string;
```

Exemple
-------

form.action = "/cgi-bin/publish";

Spécification
-------------

HTML 5, Section 4.10.19.6, Form submission

DOM Level 2 HTML: action
HTMLFormElement.method
======================

La propriété **`HTMLFormElement.method`** représente la méthode HTTP utilisée pour soumettre un formulaire.

Syntaxe
-------


```js
string = form.method;
form.method = string;
```

Exemple
-------


```js
document.forms["myform"].method = "post";
```

Spécification
-------------

HTML 5, Section 4.10.19.6, Form submission

DOM Level 2 HTML: method
HTMLFormElement.submit()
========================

La méthode **`HTMLFormElement.submit()`** soumet un `<form>` donné

Cette méthode est similaire, mais pas identique, à l'activation du script submit `<button>`. Lors de l'appel direct de cette méthode, cependant:

* Aucun événement `submit` n'est déclenché. En particulier, le gestionnaire d'événement `onsubmit` (en-US) du formulaire n'est pas exécuté.
* Constraint validation (en-US) n'est pas déclenché .

Si un contrôle de formulaire (tel qu'un submit bouton ) a un `name` ou un `id` de `submit`, cette méthode masquera la méthode d'envoi du formulaire.

Syntaxe
-------


```js
HTMLFormElement.submit();
```

Exemple
-------


```js
document.forms["myform"].submit();
```

Specification
-------------

HTML Living standard: The form element

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

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

La propriété **`HTMLFormElement.target`** représente la cible de l'action (i.e., le cadre de destination dans lequel produire le résultat).

Syntaxe
-------


```js
string = form.target;
form.target = string;
```

Exemple
-------


```js
myForm.target = document.frames[1].name;
```

Spécification
-------------

HTML 5, Section 4.10.19.6, Form submission

DOM Level 2 HTML: target
HTMLFormElement.reportValidity()
================================

Baseline 2023
-------------

Newly availableSince March 2023, 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 **`HTMLFormElement.reportValidity()`** renvoie true si les contrôles enfants de l'élément répondent à leurs contraintes de validation. Lorsque la valeur `false` est renvoyée, , les événements `invalid` (en-US) annulables sont déclenchés pour chaque enfant non valide et les problèmes de validation sont signalés à l'utilisateur. .

Syntaxe
-------


```js
HTMLFormElement.reportValidity();
```

### Valeur de retour

`Boolean` (en-US)Exemple
-------


```js
document.forms["myform"].addEventListener(
  "invalid",
  function () {
    // Optional response here
  },
  false,
);

document.forms["myform"].addEventListener(
  "submit",
  function () {
    document.forms["myform"].reportValidity();
  },
  false,
);
```

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

| Specification |
| --- |
| HTML Standard # dom-cva-reportvalidity-dev |

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

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

La méthode **`HTMLFormElement.reset()`** restaure les valeurs par défaut des éléments du formulaire. Cette méthode fait la même chose que lorsqu'on clique sur un bouton de type `reset`.

Si un élément du formulaire (comme un bouton reset par exemple) a un `name` ou `id` valant *reset*, celui-ci remplacera la méthode reset du formulaire. Les attributs des éléments, comme `disabled`, ne sont pas réinitialisés.

Syntaxe
-------


```js
HTMLFormElement.reset();
```

Exemple
-------


```js
document.getElementById("myform").reset();
```

Spécification
-------------
HTMLFormElement.acceptCharset
=============================

La propriété **`HTMLFormElement.acceptCharset`** représente une liste des codages de caratères acceptés par l'élément FORM concerné. Les valeurs de cette liste peuvent être séparés par des virgules ou des espaces.

Syntaxe
-------


```js
string = form.acceptCharset;
form.acceptCharset = string;
```

Exemple
-------


```js
inputs = document.forms["myform"].acceptCharset;
```

Spécification
-------------

HTML 5, Section 4.10.3: The Form Element

DOM Level 2 HTML: acceptCharset
submit
======

L'événement `submit` est émis lorsqu'un formulaire est soumis au serveur.

Notez que l'événement `submit` se déclenche **uniquement** sur l'élement form, et pas sur les éléments button ou input submit. (Les formulaires sont soumis, pas les boutons.)

Informations générales
----------------------

Spécification

HTML5

Interface
`Event`
Bouillonne

Oui (bien que spécifié comme un événement simple qui ne bouillonne pas)

Annulable

Oui

Cible

Élément

Action par défaut

Variable (envoie le contenu du formulaire au serveur)

Propriétés
----------

| Propriété | Type | Description |
| --- | --- | --- |
| `target` Lecture seule  | `EventTarget` | La cible de l'évènement (la cible la plus haute dans l'arbre DOM). |
| `type` Lecture seule  | `DOMString` | Le type de l'évènement. |
| `bubbles` Lecture seule  | `Boolean` | Si l'évènement bouillonne normalement ou non. |
| `cancelable` Lecture seule  | `Boolean` | Si l'évènement est annulable ou non. |
HTMLFormElement.length
======================

La propriété en lecture seule **`HTMLFormElement.length`** retourne le nombre de contrôles présents dans l'élément `<form>`.

Syntaxe
-------


```js
integer = form.length;
```

Exemple
-------


```js
if (document.getElementById("form1").length > 1) {
  // more than one form control here
}
```

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

* HTML 5, Section 4.10.3, The form Element
* DOM Level 2: length
GlobalEventHandlers.onreset
===========================

La propriété **`GlobalEventHandlers.onreset`** contient Un gestionnaire d'évènement déclenché quand un évènement `reset` est reçu.

Syntaxe
-------


```js
window.onreset = funcRef;
```

### Paramètres

* `funcRef` est une référence à une fonction.
Exemple
-------


```html
<html>
  <script>
 function reg() {
 window.captureEvents(Event.RESET);
 window.onreset = hit;
 }

 function hit() {
 alert("hit");
 }
 </script>

  <body onload="reg();">
    <form>
      <input type="reset" value="reset" />
    </form>
    <div id="d"></div>
  </body>
</html>
```

Notes
-----

L'évènement `reset` est déclenché quand l'utilisateur clique sur le bouton de réinitialisation dans un formulaire (`<input type="reset"/>`).

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

| Specification |
| --- |
| HTML Standard # event-reset |

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

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

La propriété **`HTMLFormElement.enctype`** représente le type de contenu de l'élément `<form>`.

Le type d'encodage généralement utilisé est "application/x-www-form-urlencoded".

Syntaxe
-------


```js
string = form.enctype;
form.enctype = string;
```

Exemple
-------


```js
form.enctype = "application/x-www-form-urlencoded";
```

Spécification
-------------

HTML 5, Section 4.10.19.6, Form submission

DOM Level 2 HTML: enctype
HTMLFormElement.name
====================

La propriété `HTMLFormElement.name` représente le nom de l'élément `form` sous la forme d'une chaîne de caratères.

Si votre `<form>` contient un élément appelé *name*, alors ce dernier redéfinit la propriété `form.name`, afin que vous ne puissiez y accéder. Internet Explorer (IE) bloque la définition ou la modification du nom d'un élément créé avec `createElement()` à partir de la propriété `name`.

Syntaxe
-------


```js
string = form.name;
form.name = string;
```

Exemple
-------


```js
var form1name = document.getElementById("form1").name;

if (form1name&nbsp;!= document.form.form1) {
   // browser doesn't support this form of reference
}
```

Spécification
-------------

* HTML 5, Section 4.10.3, The form Element
* DOM Level 2 HTML: name
HTMLFormElement.encoding
========================

La propriété **`HTMLFormElement.encoding`** est un nom alternatif pour l'élément `enctype` de l'objet `HTMLFormElement` du DOM.
HTMLFormElement.elements
========================

La propriété **`elements`**, rattachée à l'interface `HTMLFormElement`, renvoie un objet `HTMLFormControlsCollection` qui liste l'ensemble des contrôles de formulaire contenu dans l'élément `<form>`.

Si besoin d'obtenir uniquement le nombre de contrôles du formulaire, on pourra utiliser la propriété `length`.

On peut accéder à un contrôle particulier du formulaire via la collection renvoyée en utilisant l'indice ou l'attribut `name` ou `id` de l'élément.

Avant HTML 5, l'objet renvoyé était un objet `HTMLCollection`, sur lequel `HTMLFormControlsCollection` est désormais basé.

**Note :** De la même façon, on peut obtenir la liste de tous les formulaires contenus dans un document donné en utilisant la propriété `forms`.

Valeur
------

Un objet `HTMLFormControlsCollection` contenant tous les contrôles du formulaire qui ne sont pas des images. Il s'agit d'une collection dynamique, si des contrôles sont ajoutés ou retirés du formulaire, cette collection sera mise à jour afin de refléter cette modification.

Les contrôles de formulaires de la collection renvoyée sont dans le même ordre que celui selon lequel ils apparaissent dans le formulaire selon un parcours préfixe en profondeur de l'arbre, appelé **ordre de l'arbre**.

Seuls les éléments suivants sont renvoyés :

* `<button>`
* `<fieldset>`
* `<input>` (exception faite des éléments dont l'attribut `type` vaut `"image"`, pour des raisons historiques)
* `<object>`
* `<output>`
* `<select>`
* `<textarea>`
Exemples
--------

### Utilisation basique de la syntaxe

Dans cet exemple, on voit comment obtenir la liste des contrôles d'un formulaire et comment accéder à ses éléments avec un indice, un nom ou un identifiant.


```html
<form id="mon-formulaire">
  <input type="text" name="username" />
  <input type="text" name="full-name" />
  <input type="password" name="password" />
</form>
```



```js
const inputs = document.getElementById("mon-formulaire").elements;
const inputByIndex = inputs[0];
const inputByName = inputs["username"];
```

### Accéder aux contrôles du formulaire

Dans cet exemple, on récupère la liste des éléments du formulaire, qu'on parcourt à la recherche d'éléments `<input>` de type `"text"` afin de pouvoir modifier leur valeur.


```js
const inputs = document.getElementById("mon-formulaire").elements;

// On parcourt les contrôles du formulaire
for (let i = 0; i < inputs.length; i++) {
  if (inputs[i].nodeName === "INPUT" && inputs[i].type === "text") {
    // On met à jour le champ texte
    inputs[i].value.toLocaleUpperCase();
  }
}
```

### Désactiver des contrôles de formulaire


```js
const inputs = document.getElementById("mon-formulaire").elements;

// On parcourt les contrôles du formulaire
for (let i = 0; i < inputs.length; i++) {
  // On les désactive tous
  inputs[i].setAttribute("disabled", "");
}
```

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

| Specification |
| --- |
| HTML Standard # dom-form-elements-dev |

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

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

**Attention :** Cette interface est dépréciée dans la spécification Navigation Timing Level 2. Veuillez utiliser la propriété `PerformanceNavigationTiming.redirectCount` de l'interface `PerformanceNavigationTiming` à la place.

L'ancienne propriété en lecture seule **`PerformanceNavigation.redirectCount`** renvoie un `unsigned short` représentant le nombre de **Redirections** effectués avant d'atteindre la page.

Syntaxe
-------


```js
let amount = performanceNavigation.redirectCount;
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigation-redirectcount |

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

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

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

* L'interface `PerformanceNavigation` à laquelle il appartient.