recursal/MDN huggingface dataset:
IDBFactory.deleteDatabase()
===========================

La méthode **`deleteDatabase()`**, rattachée à l'interface `IDBFactory`, permet de demander la suppression d'une base de données. La méthode renvoie immédiatement un objet `IDBOpenDBRequest` puis effectue l'opération de suppression de façon asynchrone.

Si la base de données est bien supprimée, un évènement `success` est déclenché sur l'objet `IDBOpenDBRequest` renvoyé et la propriété `result` vaut alors `undefined`. Si une erreur se produit lors de la suppression, ce sera un évènement `error` qui sera déclenché sur l'objet renvoyé par la méthode.

Lorsque la méthode `deleteDatabase()` est invoquée, toutes les autres connexions qui sont ouvertes sur cette base de données recevront un évènement `versionchange` (en-US).

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

Syntaxe
-------

La syntaxe actuellement standard est :


```js
var request = indexedDB.deleteDatabase(nom);
```


Une version expérimentale permet de gérer des options (cf. ci-après) :


```js
var request = indexedDB.deleteDatabase(nom, options);
```

### Paramètres

`nom`

Le nom de la base de données qu'on souhaite supprimer. Tenter de supprimer une base de données qui n'existe pas ne déclenchera pas d'exception (contrairement à la tentative de suppression d'un magasin d'objets inexistant avec `IDBDatabase.deleteObjectStore()` qui déclenchera bien une exception).

`options` 
Non-standard

Dans Gecko, à partir de la version 26, il est possible d'inclure un paramètre pour indiquer le stockage de la base. La valeur peut être `permanent` (la valeur par défaut) ou `temporary` si on souhaite supprimer une base de données qui fait partie d'une mémoire partagée.

### Valeur de retour

Cette méthode renvoie un objet `IDBOpenDBRequest` sur lequel seront déclenchés les évènements relatifs à la requête.

Exemples
--------


```js
var DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");

DBDeleteRequest.onerror = function (event) {
  console.log("Erreur lors de la suppression de la base");
};

DBDeleteRequest.onsuccess = function (event) {
  console.log("Suppression de la base réussie");

  console.log(event.result); // undefined
};
```

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

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbfactory-deletedatabase① |

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

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

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

* Manipuler IndexedDB
* Démarrer des transactions : `IDBDatabase`
* Manipuler des transactions : `IDBTransaction`
* Définir un intervalle de clés : `IDBKeyRange`
* Récupérer des données et les modifier : `IDBObjectStore`
* Manipuler des curseurs : `IDBCursor`
* Exemple de référence pour IndexedDB : To-do Notifications
Storage.length
==============

La propriété en lecture seule de l'interface `Storage` retourne un entier représentant le nombre d'items stockés dans l'objet `Storage`.

Syntaxe
-------


```js
var aLength = storage.length;
```

### Retour

Un entier.

Exemple
-------

La fonction suivante ajoute trois éléments au localStorage du domaine courant puis retourne le nombre d'éléments dans le storage:


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "yellow");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "cats.png");

  localStorage.length; // retourne 3 si localStorage est vide au préalable
}
```


**Note :** Pour voir ceci utilisé dans un exemple concret, regardez notre Web Storage Demo.

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

| Specification |
| --- |
| HTML Standard # dom-storage-length-dev |

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

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

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

* Utilisation de l'API de stockage web
Storage.removeItem()
====================

La méthode **`removeItem()`** de l'interface `Storage` , lorsque vous lui passez une clé en argument, va supprimer la ressource avec le nom de clé correspondant du storage. L'interface **`Storage`** de l'API Web Storage API fournit des accès particuliers dans les domaines des stockages locaux et de sessions.

Si aucun élement n'est donné en paramètre `nomCle`, cette méthode ne fait rien.

Syntaxe
-------


```js
storage.removeItem(nomCle);
```

### Paramètres

`nomCle`

Un `DOMString` contenant le nom de la clé que vous voulez supprimer.

### Valeur de retour

`undefined`.

Exemple
-------

La fonction suivante crée trois données dans le stockage local, puis va supprimer la donnée image.


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");

  localStorage.removeItem("image");
}
```


Nous pouvons également faire ceci avec le stockage de session.


```js
function populateStorage() {
  sessionStorage.setItem("bgcolor", "red");
  sessionStorage.setItem("font", "Helvetica");
  sessionStorage.setItem("image", "myCat.png");

  sessionStorage.removeItem("image");
}
```


**Note :** Pour voir ce code en fonctionnement, voir Web Storage Demo.

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

| Specification |
| --- |
| HTML Standard # dom-storage-removeitem-dev |

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

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

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

Utilisation de l'API de stockage Web
Storage.getItem()
=================


 La méthode `getItem()` de l'interface `Storage` renvoie la valeur associée à la clé passée en paramètre.
Syntaxe
-------


```js
var aValue = storage.getItem(keyName);
```

### Paramètre

*`keyName`*

Une `DOMString` contenant le nom de la clé voulue.

### Renvoi

Une `DOMString` contenant la valeur de la clé. `null` est renvoyé si aucune correspondance n'est trouvée.

Exemple
-------

La fonction suivante récupère trois élément du stockage local, puis réutilise les valeurs renvoyés afin de modifier le style de la page .


```js
function setStyles() {
  var currentColor = localStorage.getItem("bgcolor");
  var currentFont = localStorage.getItem("font");
  var currentImage = localStorage.getItem("image");

  document.getElementById("bgcolor").value = currentColor;
  document.getElementById("font").value = currentFont;
  document.getElementById("image").value = currentImage;

  htmlElem.style.backgroundColor = "#" + currentColor;
  pElem.style.fontFamily = currentFont;
  imgElem.setAttribute("src", currentImage);
}
```


**Note :** Pour voir cette fonction utilisée dans un exemple réel, dirigez-vous vers notre Demo de Stockage Web (en).

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

| Specification |
| --- |
| HTML Standard # dom-storage-getitem-dev |

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

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

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

Utilisation de l'API de stockage web
Storage.setItem()
=================

La méthode `setItem()` de l'interface `Storage`, lorsque lui sont passées le duo clé-valeur, les ajoute à l'emplacement de stockage, sinon elle met à jour la valeur si la clé existe déjà.

Syntaxe
-------


```js
storage.setItem(nomClé, valeurClé);
```

### Paramètres

*nomClé*

C'est une `DOMString` contenant le nom de la clé que l'on souhaite créer/modifier.

*valeurClé*

C'est une `DOMString` contenant la valeur associée à son nom de clé que l'on souhaite créer/modifier.

### Retourne

*Aucune valeur de retour.*

### Exceptions

`setItem()` peut émettre une exception si l'emplacement de stockage est plein. En particulier pour Safari mobile (depuis iOS 5), elle émettra une exception si l'utilisateur passe en navigation privée (contrairement aux autres navigateur qui autorisent le stockage même en navigation privée en utilisant un conteneur de données séparé, Safari met son quota de stockage à 0 octets).
 Par conséquent les développeurs devraient être sûrs de toujours de **systématiquement capturer toute possible exception venant de setItem().**

Exemple
-------

La fonction suivante crée trois éléments à l'intérieur du stockage local.


```js
function remplissageStockage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");
}
```


**Note :** Pour voir ceci utilisé dans un exemple concret, regardez notre Web Storage Demo.

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

| Specification |
| --- |
| HTML Standard # dom-storage-setitem-dev |

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

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

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

* Storage.getItem()
* Storage.removeItem()
* Utilisation de l'API Web Storage
Storage.key()
=============

La méthode `key()` de l'interface `Storage` prend un nombre n en argument et retourne la n-ième clé contenue dans storage. L'ordre des clés étant définie par le navigateur, il est recommandé de ne pas s'y référer .

Syntaxe
-------


```js
var unNomDeCle = storage.key(cle);
```

### Paramètres

*cle*

Un entier représentant le numéro de la clé voulue. L'index débute à zero.

### Valeur de retour

Un `DOMString` contenant le nom de la clé .

Exemple
-------

La fonction suivante parcours les éléments présents dans le local storage.


```js
function forEachKey(callback) {
  for (var i = 0; i < localStorage.length; i++) {
    callback(localStorage.key(i));
  }
}
```


**Note :** Pour un exemple plus poussé, consultez la Web Storage Demo.

Autre exemple
-------------

La fonction suivante parcourt chaque clé présente dans le localStorage et affiche les valeurs correspondantes.


```js
for (var i = 0; i < localStorage.length; i++) {
  console.log(localStorage.getItem(localStorage.key(i)));
}
```

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

| Specification |
| --- |
| HTML Standard # dom-storage-key-dev |

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

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

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

* Utilisation de l'API de stockage web
Storage.clear()
===============

La méthode `clear()` de l'interface `Storage`, lorsqu'elle est invoquée, vide toutes les clés stockées.

Syntaxe
-------


```js
storage.clear();
```

### Retoune

`undefined`Exemple
-------

La fonction suivante crée trois entrées de données dans le stockage local, puis les supprime en utilisant clear().


```js
function peuplerLeStockage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "monChat.png");

  localStorage.clear();
}
```


**Note :** Pour voir un exemple réel, vous pouvez visitez notre Démo de stockage web. Les modifications sont visibles dans la console, vous pouvez actualiser la page et conserver les modifications.

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

| Specification |
| --- |
| HTML Standard # dom-storage-clear-dev |

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

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

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

* Utilisation de l'API de stockage web
HTMLDialogElement: close event
==============================

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 **`close`** est déclenché sur un objet `HTMLDialogElement` (en-US) lorsque la boîte de dialogue qu'il représente a été fermée.

|  |  |
| --- | --- |
| Bouillonnant | Non |
| Annulable | Non |
| Interface | `Event` |
| Propriété du gestionnaire d'événements | `onclose` |

Exemples
--------

### Exemple concret

#### HTML


```html
<dialog class="example-dialog">
  <button class="close" type="reset">Close</button>
</dialog>

<button class="open-dialog">Open dialog</button>

<div class="result"></div>
```


```
button,
div {
  margin: 0.5rem;
}
```


#### JS


```js
const result = document.querySelector(".result");

const dialog = document.querySelector(".example-dialog");
dialog.addEventListener("close", (event) => {
  result.textContent = "dialog was closed";
});

const openDialog = document.querySelector(".open-dialog");
openDialog.addEventListener("click", () => {
  if (typeof dialog.showModal === "function") {
    dialog.showModal();
    result.textContent = "";
  } else {
    result.textContent = "The dialog API is not supported by this browser";
  }
});

const closeButton = document.querySelector(".close");
closeButton.addEventListener("click", () => {
  dialog.close();
});
```


#### Résultat

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

| Specification |
| --- |
| HTML Standard # event-close |

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

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

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

* Élément HTML `<dialog>`
Document.exitFullscreen()
=========================

La méthode **`Document.exitFullscreen()`** extrait le document du mode plein écran ; elle est utilisée pour inverser les effets d'un appel au mode plein écran réalisé avec la méthode `Element.requestFullscreen()`.

**Note :** Si un autre élément était précédemment en mode plein écran lorsque l'élément en cours a été placé en mode plein écran, cet élément précédent reprend le mode plein écran. Une "pile" d'éléments en plein écran est maintenue par le navigateur à cette fin.

Syntaxe
-------


```js
document.exitFullscreen();
```

Exemple
-------


```js
// Click bascule en mode plein écran
document.onclick = function (event) {
  if (document.fullscreenElement) {
    document.exitFullscreen();
  } else {
    document.documentElement.requestFullscreen();
  }
};
```

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

| Specification |
| --- |
| Fullscreen API Standard # ref-for-dom-document-exitfullscreen① |

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

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

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

* Utiliser le mode plein écran
* `Element.requestFullscreen()`
* `Document.exitFullscreen()`
* `Document.fullscreen` (en-US)
* `Document.fullscreenElement` (en-US)
* `:fullscreen`
* `allowfullscreen`
Document.elementFromPoint()
===========================

La méthode **`elementFromPoint()`**, rattachée à l'interface `Document`, renvoie un objet `Element` correspondant à l'élément de plus haut niveau situé aux coordonnées indiquées en arguments (relativement à la zone d'affichage (*viewport*)).

Si l'élément placé au point indiqué appartient à un autre document (par exemple le document situé dans un élément `<iframe>`), c'est l'élément parent (par exemple l'élément `<iframe>` même) qui est renvoyé. Si l'élément situé au point indiqué est du contenu anonyme (par exemple les barres de défilement d'une boîte de texte), c'est le premier élément ancêtre non anonyme (par exemple la boîte de texte) qui est renvoyée.

Les éléments pour lesquels `pointer-events` vaut `none` seront ignorés et ce sera l'élément situé en dessous sera renvoyé.

Si la méthode est exécutée sur un autre document (par exemple dans le sous-document chargé dans un élément `<iframe>`), les coordonnées seront relatives au document où la méthode est appelée.

Si le point indiqué est situé en dehors des limites visibles du document ou que l'une des coordonnées est négative, le résultat fourni par la méthode sera `null`.

Pour connaître la position précise à l'intérieur de l'élément, on utilisera la méthode `Document.caretPositionFromPoint()` (en-US).

Syntaxe
-------


```js
elementFromPoint(x, y);
```

### Paramètres

`x`

L'abscisse du point relativement au bord gauche de la zone d'affichage (*viewport*) courante.

`y`

L'ordonnée du point relativement au bord haut de la zone d'affichage courante.

### Valeur de retour

L'élément (l'objet `Element`) de plus haut niveau situé aux coordonnées indiquées.

Exemples
--------

Dans cet exemple, on crée deux boutons qui permettent de définir la couleur du texte du paragraphe situé aux coordonnées `(2, 2)`.

### JavaScript


```js
function changeColor(nouvelleCouleur) {
  elem = document.elementFromPoint(2, 2);
  elem.style.color = nouvelleCouleur;
}
```


La méthode `changeColor()` récupère l'élément situé au point indiqué puis modifie la valeur de la propriété `color` avec la nouvelle couleur passée en argument.

### HTML


```html
<p id="para1">Un texte ici</p>
<button onclick="changeColor('blue');">Bleu</button>
<button onclick="changeColor('red');">Rouge</button>
```


Ce fragment HTML fournit le paragraphe dont la couleur sera modifiée ainsi que deux boutons pour changer la couleur (un pour le bleu et l'autre pour le rouge).

### Résultat

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

| Specification |
| --- |
| CSSOM View Module # dom-document-elementfrompoint |

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

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

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

* `Document.elementsFromPoint()`
Document.domain
===============

Retourne/définit la partie domaine de l'origine du document courant, telle qu'utilisée par la politique d'origine identique.

Syntaxe
-------


```js
var chaineDomaine = document.domain;
document.domain = chaine;
```

Exemple
-------


```js
// Pour le document www.example.xxx/good.html,
// ce script ferme la fenêtre
var mauvaisDomaine = "www.example.xxx";

if (document.domain == mauvaisDomaine) window.close(); // juste un exemple - window.close() n'a parfois aucun effet.
```



```js
// Pour l'URI https://developer.mozilla.org/fr/docs/Web, ce qui
// suit définit le domaine comme étant la chaîne "developer.mozilla.org"
var domaine = document.domain;
```

Notes
-----

Cette propriété retourne `null` si le domaine du document ne peut pas être identifié.

Mozilla vous laissera la définir à un superdomaine de la valeur courante, contraint par son domaine de base. Par exemple, sur developer.mozilla.org, il est possible de la définir à "mozilla.org" mais pas à "mozilla.com" ou "org".

Si cette propriété est définie avec succès, la partie "port" de l'origine est également définie à null.

Mozilla fait la distinction entre la propriété d'un `document.domain` qui n'a jamais été modifiée d'une explicitement définie avec le même domaine que l'URL du document, même si la propriété renvoie la même valeur dans les deux cas. Un document est autorisé à accéder à un autre si il ont tous deux défini `document.domain` à la même valeur, indiquant leur intention de coopérer, ou si aucun des deux n'a défini `document.domain` et que les domaines dans les URLs sont les mêmes (implementation). Sans cette politique spéciale, chaque site serait sujet au Cross-Site-Scripting (XSS) depuis ses sous-domaines (par exemple, https://bugzilla.mozilla.org pourrait être attaqué par des pièces jointes de bugs sur https://bug\*.bugzilla.mozilla.org).

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

* DOM Level 2 HTML: document.domain (le décrit comme étant en lecture-seule)
* HTML5: document.domain (décrit un comportement similaire à celui de Mozilla)
Voir aussi
----------

* Politique de même origine pour JavaScriptHTML
Document.scripts
================

Retourne une liste des scripts (éléments `<script>`) présents dans le document. L'objet retourné est une liste du type `HTMLCollection`.

Syntaxe
-------


```js
var scriptList = document.scripts;
```


La liste `scriptList` est un objet `HTMLCollection` qu'on peut utiliser comme un tableau pour accéder aux éléments qu'elle contient.

Exemple
-------

Cet exemple détecte la présence d'éléments `<script>` dans le document.


```js
var scripts = document.scripts;

if (scripts.length) {
  alert("This page has scripts!");
}
```

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

| Specification |
| --- |
| HTML Standard # dom-document-scripts-dev |

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

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

La propriété en lecture seule **`scrollingElement`** de l'interface `Document` renvoie une référence à l'élément qui fait défiler le document. En mode standard, il s'agit de l'élément racine du document, `document.documentElement`.

En mode quirks, l'attribut `scrollingElement` renvoie l'élément HTML `body` s'il existe et est potentiellement défilable, sinon il renvoie `null`.

Syntaxe
-------


```js
var element = document.scrollingElement;
```

Exemple
-------


```js
var scrollElm = document.scrollingElement;
scrollElm.scrollTop = 0;
```

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

| Specification |
| --- |
| CSSOM View Module # dom-document-scrollingelement |

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

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

Résumé
------

Retourne un objet `DOMImplementation` associé avec le document courant.

Syntaxe
-------


```js
DOMImpObj = document.implementation;
```

Exemple
-------


```js
var modName = "HTML";
var modVer = "2.0";
var conformTest = document.implementation.hasFeature(modName, modVer);

alert("DOM " + modName + " " + modVer + " supported?: " + conformTest);

// alerte avec : "DOM HTML 2.0 pris en charge ?: true" si le module DOM niveau 2 HTML est pris en charge.
```


Une liste de noms de modules (par exemple, Core, HTML, XML, etc.) est disponible dans la Conformance Section DOM niveau 2.

Notes
-----

La recommandation DOM niveau 1 du W3C ne spécifiait que la méthode `hasFeature`, qui est un moyen de déterminer si un module DOM est supporté par un navigateur (voir l'exemple ci-dessus et ce que votre agent utilisateur prétend prendre en charge ?). Si disponibles, d'autres méthodes `DOMImplementation` fournissent des services pour contrôler des choses en dehors d'un document unique. Par exemple, l'interface `DOMImplementation` inclut une méthode `createDocumentType` avec laquelle des DTD peuvent être créées pour un ou plusieurs documents gérés par l'implémentation.

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

* DOM Level 2 Core: implementation
* DOM Level 3 Core: implementation
Notes propres à Gecko
---------------------

* À partir de Gecko 19.0, la méthode `hasFeature` retournera toujours true.
Document.featurePolicy
======================

La propriété en lecture seule **`featurePolicy`** de l'interface `Document` retourne l'interface `FeaturePolicy`, qui fournit une API permettant de consulter facilement les règles de fonctionnalités appliquées sur un document spécifique.

Syntaxe
-------


```js
var policy = iframeElement.featurePolicy;
```

### Valeur

Un objet `FeaturePolicy` pouvant être utilisé pour consulter les paramètres de Feature Policy appliqués au document.

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

#### No specification found

No specification data found for `api.Document.featurePolicy`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

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

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