recursal/MDN huggingface dataset:
HTMLIFrameElement.allowPaymentRequest
=====================================

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

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

La propriété **`allowPaymentRequest`** de l'interface `HTMLIFrameElement` retourne une valeur booléenne indiquant si la *Payment Request API* peut être invoquée sur une *iframe* utilisant une origine tierce.

Syntaxe
-------


```js
var allow = htmlIFrameElement.allowPaymentRequest;
```

### Valeur

Une valeur booléenne.

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

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

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

* Payment Request API
HTMLIFrameElement.contentDocument
=================================

Si l'*iframe* et le document parent de l'*iframe* sont de la même origine, `HTMLIFrameElement.contentDocument` retourne un `Document` (c'est à dire le document actif dans le contexte de navigation imbriqué du cadre). Sinon, il retourne `null`.

Exemples
--------


```js
var iframeDocument = document.getElementsByTagName("iframe")[0].contentDocument;

iframeDocument.body.style.backgroundColor = "blue";
// Cela passe la couleur d'arrière-plan de l'iframe en bleu.
```

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

| Specification |
| --- |
| HTML Standard # dom-iframe-contentdocument |

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

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

**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 **`featurePolicy`** de l'interface `HTMLIFrameElement` retourne l'interface `FeaturePolicy`, qui fournit une API simple pour consulter facilement les règles de fonctionnalités appliquées à un élément `<iframe>` spécifique.

Syntaxe
-------


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

### Valeur

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

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

#### No specification found

No specification data found for `api.HTMLIFrameElement.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.
HTMLIFrameElement.contentWindow
===============================

La propriété **`contentWindow`** renvoie l'objet `Window` d'un élément `<iframe>`. Cet objet `Window` peut être utilisé pour accéder au document de l'*iframe* et à son DOM. Cet attribut est en lecture seule mais ses propriétés peuvent être manipulées comme pour l'objet global `Window`.

Exemples
--------


```js
var x = document.getElementsByTagName("iframe")[0].contentWindow;
//x = window.frames[0];

x.document.getElementsByTagName("body")[0].style.backgroundColor = "blue";
// ceci devrait changer le 1er iframe dans le document bleu.
```

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

| Specification |
| --- |
| HTML Standard # dom-iframe-contentwindow |

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

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

**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é **`csp`** de l'interface `HTMLIFrameElement` spécifie la stratégie de sécurité du contenu (en anglais *Content Security Policy (CSP)*) qu'un document embarqué doit accepter de respecter.

Syntaxe
-------


```js
var csp = HTMLIFrameElement.csp;
HTMLIFrameElement.csp = csp;
```

### Valeur

Une stratégie de sécurité du contenu.

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

| Specification |
| --- |
| Content Security Policy: Embedded Enforcement # ref-for-dom-htmliframeelement-csp |

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

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

Renvoie la feuille de style qui inclut celle-ci, le cas échéant.

Syntaxe
-------


```js
objref = stylesheet.parentStyleSheet;
```

Exemple
-------


```js
// trouve la feuille de style de niveau supérieur
const sheet = stylesheet.parentStyleSheet ?? stylesheet;
```

Remarques
---------

Cette propriété renvoie NULL est la feuille de style actuelle est une feuille de style de haut niveau ou si l'inclusion de la feuille de style n'est pas prise en charge.

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

* ParentStyleSheet
StyleSheet.type
===============

Type spécifie la langue de la feuille de style pour cette feuille de style.

Syntaxe
-------


```js
string = stylesheet.type;
```

Exemple
-------
```

stylesheet.type = "text/css";
```

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

type
StyleSheet.href
===============

Renvoie l'emplacement de la feuille de style.

Syntaxe
-------


```js
uri = stylesheet.href;
```

### Paramètres

* `uri` Est une chaîne contenant l'URI de la feuille de style.
Exemple
-------


```html
// sur une machine locale:
<html>
  <head>
    <link rel="stylesheet" href="example.css" type="text/css" />
    <script>
 function sref() {
 alert(document.styleSheets[0].href);
 }
 </script>
  </head>
  <body>
    <div class="tonnerre">Thunder</div>
    <button onclick="sref()">ss</button>
  </body>
</html>
// retourne "fichier: //// C: /Windows/Desktop/example.css
```

Remarques
---------

Si la feuille de style est une feuille de style liée, la valeur de son attribut est son emplacement. Pour les feuilles de style en ligne, la valeur de cet attribut est `NULL`.

Cette propriété est en lecture seule sur Firefox, Opera, Google Chrome et Safari, et elle est lue / écrite dans Internet Explorer.

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

Href
StyleSheet.disabled
===================

La **`StyleSheet.disabled`** propriété indique si la feuille de style est empêchée de demander le document. Une feuille de style peut être désactivé en réglant manuellement cette propriété `true` ou si elle est une forme inactive feuille de style alternatif . Notez que `disabled == false` ne garantit pas la feuille de style est appliquée (il pourrait être supprimé du document, par exemple).

Syntaxe
-------


```js
bool = stylesheet.disabled;
```

Exemple
-------


```js
// si la feuille de style est désactivé ...
if (stylesheet.disabled) {
  // appliquer le style en ligne
}
```

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

désactivée
StyleSheet.title
================

`title` Renvoie le titre de conseil de la feuille de style actuelle.

Remarques
---------

Le titre est souvent spécifié dans `ownerNode`.

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

* Titre
StyleSheet.ownerNode
====================

**OwnerNode** renvoie le noeud qui associe cette feuille de style au document.

Syntaxe
-------


```js
objref = stylesheet.ownerNode;
```

Exemple
-------


```html
<html>
  <head>
    <link rel="stylesheet" href="example.css" type="text/css" />
    <script>
 function stilo() {
 alert(document.styleSheets[0].ownerNode);
 }
 </script>
  </head>
  <body>
    <button onclick="stilo()">ss</button>
  </body>
</html>
// affiche "objet HTMLLinkElement"
```

Remarques
---------

Pour HTML, **ownerNode** peut être l' élément LINK ou STYLE correspondant . Pour XML, il peut s'agir des instructions de traitement de liaison. Pour les feuilles de style qui sont incluses dans d'autres feuilles de style, la valeur de cet attribut est NULL.

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

DOM Styles de niveau 2 - FEUILLE DE STYLES
StyleSheet.media
================

**Media** spécifie le support de destination prévu pour les informations de style.

Syntaxe
-------


```js
media = stylesheet.media;
stylesheet.media = media;
```

Paramètres
----------

* `media` Est une chaîne décrivant un seul moyen ou une liste séparée par des virgules.
Exemple
-------


```html
<link rel="stylesheet" href="document.css" type="text/css" media="screen" />
```

Remarques
---------

La valeur par défaut pour les médias est "écran".

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

DOM Styles de niveau 2 - FEUILLE DE STYLES
Node.contains
=============

La méthode **`Node.contains()`** renvoie une valeur `Boolean` (*booléenne*) indiquant si un nœud est un descendant d'un nœud donné, c'est-à-dire le nœud lui-même, l'un de ses enfants directs (`childNodes`), l'un des enfants directs des enfants, et ainsi de suite.Syntaxe
-------


```js
node.contains(otherNode);
```

Exemple
-------

Cette fonction vérifie si un élément est dans le corps de la page. Comme `contains` est inclusif, déterminer si le corps est contenu en lui-même n'est pas le but de `isInPage,` donc ce cas renvoie `false`.


```js
function isInPage(node) {
  return node === document.body ? false : document.body.contains(node);
}
```

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-node-contains① |

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

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

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

* `Node.compareDocumentPosition`
* `Node.hasChildNodes`
Node.baseURI
============

La propriété en lecture seule **`Node.baseURI`** renvoie l'URL de base absolue d'un noeud.

L'URL de base est utilisée pour résoudre les URL relatives quand le navigateur a besoin d'obtenir une URL absolue, par exemple lors du traitement de l'attribut `src` en HTML ou XML `xlink:href` d'un élément `<img>` HTML.

En général, l'URL de base est simplement l'emplacement du document, mais elle peut être affectée par de nombreux facteurs, y compris l'élément `<base>` en HTML et l'attribut `xml:base` en XML.

Syntaxe
-------


```js
var baseURI = node.baseURI;
```


* `baseURI` est une `DOMString` (*chaîne de caractères*) représentant l'URL de base du `Node` spécifié. Elle peut être `null` s'il est impossible d'obtenir une URI absolue.
* `node.baseURI` est en lecture seule.
* `node.baseURI` peut changer avec le temps (voir ci-dessous).
Détails
-------

### L'URL de base d'un document

L'URL de base d'un *document* est par défaut l'adresse du document (telle qu'affichée par le navigateur et disponible dans `window.location`), mais peut changer par défaut :

* Si une balise HTML `<base>` est trouvée dans le document ;
* Lorsque celui-ci est un nouveau document créé dynamiquement.

Voir la page Base URLs section of the HTML Living standard (en) pour plus de détails.

Vous pouvez utiliser ``document`.baseURI` pour obtenir l'URL de base d'un document. Notez que l'obtention de l'URL de base d'un document peut renvoyer des URL différentes au fil du temps si la balise `<base>` ou l'emplacement du document change.

### L'URL de base d'un élément

L'URL de base d'un *element* en HTML est normalement équivalente à celle du document dans lequel se trouve le noeud.

Si le document contient des attributs `xml:base` (ce que vous ne devriez pas faire dans les documents HTML), l'`element.baseURI` prend en compte l'attribut `xml:base` des parents de l'élément lors du calcul de l'URL de base. Voir xml:base pour plus de détails.

Vous pouvez utiliser ``element`.baseURI` pour obtenir l'URL de base d'un élément.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-node-baseuri① |

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

* l'élément `<base>` (HTML)
* l'attribut `xml:base` (documents XML).
* `Node.baseURIObject` - une variante de cette API pour les add-ons Mozilla et le code interne. Renvoie l'URL de base en tant que `nsIURI`.
Node.lookupPrefix()
===================

La méthode **`Node.lookupPrefix()`** renvoie une `DOMString` (*chaîne de caractères*) contenant le préfixe d'un URI d'un espace de nom donné, s'il est présent, et `null` sinon. Quand plusieurs préfixes sont possibles, le résultat dépend de l'implémentation.

En raison du bug 312019, cette méthode ne fonctionne plus avec les espaces de nom définis dynamiquement, c'est-à-dire ceux qui sont fixés avec la propriété `Node.prefix`.

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

* http://www.w3.org/TR/DOM-Level-3-Cor...amespacePrefix
element.nodeValue
=================

La propriété **`Node.nodeValue`** renvoie ou définit la valeur du nœud courant.

Syntaxe
-------


```js
value = node.nodeValue;
```


`value` (*valeur*) est une chaîne contenant la valeur du nœud courant, s'il y en a une.

Notes
-----

Pour le document lui-même, `nodeValue` renvoie `null`. Pour des nœuds texte, de commentaires et CDATA, `nodeValue` renvoie le contenu du nœud. Pour les nœuds d'attributs, il s'agira de la valeur de l'attribut.

Le tableau suivant montre les valeurs de retour pour différents types de nœuds :

|  |  |
| --- | --- |
| Attr | valeur de l'attribut |
| CDATASection | contenu de la section CDATA |
| Comment | contenu du commentaire |
| Document | `null` |
| DocumentFragment | `null` |
| DocumentType | `null` |
| Element | `null` |
| NamedNodeMap | `null` |
| EntityReference | `null` |
| Notation | `null` |
| ProcessingInstruction | tout le contenu à l'exception de la cible |
| Text | contenu du nœud texte |

Lorsque `nodeValue` est défini comme étant `null`, l'assignation n'a aucun effet.

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

* DOM Level 2 Core: Node.nodeValue — traduction (non normative)
Compatibilité des navigateurs
-----------------------------

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

La méthode **`Node.isDefaultNamespace()`** accepte un URI d'espace de nom comme argument et renvoie un `Boolean` (booléen) avec une valeur `true` (*vrai*) si l'espace de nom est celui par défaut du noeud donné ou `false` (*faux*) sinon.

Syntaxe
-------


```js
result = node.isDefaultNamespace(namespaceURI);
```


* `result` détient la valeur de retour `true` (*vrai*) ou `false` (*faux*).
* `namespaceURI` est une `string` (*chaîne de caractères*) représentant l'espace de nom par rapport auquel l'élément sera vérifié.
Exemple
-------


```js
var XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var el = document.getElementsByTagNameNS(XULNS, "textbox")[0];

alert(el.isDefaultNamespace(XULNS)); // true
```

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

* DOM Level 3 Core: isDefaultNamespace
* Code snippets: isDefaultNamespace
element.cloneNode
=================

La méthode **`Node.cloneNode()`** renvoie une copie du nœud sur lequel elle a été appelée.

Syntaxe
-------


```js
var dupNode = node.cloneNode([deep]);
```


node

Le noeud à dupliquer.

dupNode

Le nouveau noeud qui sera un clone du `node`.

deep *Facultatif (profondeur)*

`true` (*vrai*) si les enfants du noeud doivent aussi être clonés ou `false` (*faux*) si seul le noeud spécifié doit l'être.


**Note :** Dans la spécification DOM4 (telle qu'implémentée dans Gecko 13.0), `deep` est un argument facultatif. S'il est omis, la méthode agit comme si la valeur de `deep` était **`true`** par défaut, elle utilise le clonage profond comme comportement par défaut. Pour créer un clone superficiel, `deep` doit être défini sur `false`.

Le comportement a été modifié dans la dernière spécification et, s'il est omis, la méthode doit agir comme si la valeur de `deep` était **`false`**. Bien que ce soit toujours facultatif, vous devriez toujours fournir l'argument `deep` pour la compatibilité amont et aval. Avec Gecko 28.0, la console a averti les développeurs de ne pas omettre l'argument. À partir de Gecko 29.0, un clone superficiel est défini par défaut au lieu d'un clone profond.

Exemple
-------


```js
p = document.getElementById("para1");
p_prime = p.cloneNode(true);
```

Notes
-----

Cloner un nœud copie tous ses attributs ainsi que leurs valeurs, y compris les auditeurs intrinsèques (en ligne). Il ne copie pas les auditeurs d'évènement ajoutés avec `addEventListener()` ou ceux assignés au propriétés d'éléments (par exemple `node.onclick = fn`). De plus, pour un élément `<canvas>` l'image peinte n'est pas copiée.

Le nœud dupliqué renvoyé par `cloneNode` ne fera pas partie du document tant qu'il n'y est pas ajouté via la méthode `Node.appendChild()` ou une méthode similaire. De même, il n'a pas de parent tant qu'il n'a pas été ajouté à un autre nœud.

 Si `deep` est défini à `false`, aucun des nœuds enfants n'est copié.
 *T*out texte contenu dans le nœud n'est pas copié non plus , car il fait partie d'un ou plusieurs nœuds `Text` enfants.

Si `deep` est évalué à `true`, le sous-arbre entier est copié également (y compris le texte qui peut être contenu dans des nœuds `Text` enfants). Pour les nœuds vides (par exemple les éléments `<img>` et `<input>` ) le fait de mettre `deep` à `true` ou `false` n'a aucune incidence sur la copie, mais il est tout de même nécessaire de fournir une valeur.

**Attention :** `cloneNode()` peut conduire à dupliquer des ID (*identifiant*) d'éléments dans un document.

Si le noeud d'origine a un identifiant et que le clone doit être placé dans le même document, l'identifiant du clone peut être modifié pour être unique. Les attributs du nom peuvent devoir être modifiés également, selon que les noms en double sont attendus.

Pour cloner un noeud à ajouter dans un document différent, utilisez `Document.importNode()` à la place.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-node-clonenode① |

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

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

La propriété en lecture seule **`Node.firstChild`** renvoie le premier nœud enfant de l'arbre ou `null` s'il n'en a pas. Si le noeud est un `Document` , il renvoie le premier noeud de la liste de ses enfants directs.

Syntaxe
-------


```js
var childNode = node.firstChild;
```

Exemple
-------

Cet exemple montre l'utilisation de `firstChild` et la manière dont les nœuds d'espaces peuvent interférer.


```html
<p id="para-01">
  <span>Premier span</span>
</p>

<script type="text/javascript">
 var p01 = document.getElementById("para-01");
 alert(p01.firstChild.nodeName);
</script>
```


Dans le code ci-dessus, la console affichera « #text » car un nœud texte a été inséré pour préserver les blancs entre la fin des balises ouvrantes <p> et <span>. **Tout** espace provoquera l'insertion d'un nœud `#text` , qu'il s'agisse d'un simple espace ou de plusieurs, de retours à la ligne, tabulations, etc.

Un autre nœud `#text` est inséré entre les balises de fermeture </span> et </p>.

Si ces espaces sont retirés du code source, les nœuds `#text` n'apparaîtront plus et l'élément span deviendra le premier enfant du paragraphe.


```html
<p id="para-01"><span>Premier span</span></p>

<script type="text/javascript">
 var p01 = document.getElementById("para-01");
 alert(p01.firstChild.nodeName);
</script>
```


À présent, l'alerte affichera « SPAN ».

Pour éviter le problème avec `node.firstChild` renvoyant des noeuds `#text` ou `#comment`, `ParentNode.firstElementChild` peut être utilisé pour renvoyer seulement le premier noeud élément. Toutefois, `node.firstElementChild` nécessite un "shim" pour Internet Explorer 9 et antérieurs.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-node-firstchild① |

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

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

La propriété en lecture seule **parentNode** renvoie le parent du nœud spécifié dans l'arborescence de DOM.

Syntaxe
-------


```js
parentNode = node.parentNode;
```


`parentNode` est l'élément parent du nœud courant. Le parent d'un élément est un nœud `Element`, un nœud `Document` ou un nœud `DocumentFragment`.

Exemple
-------


```js
if (node.parentNode) {
  // supprime un noeud de l'arbre,
  // sauf s'il a déjà été supprimé
  node.parentNode.removeChild(node);
}
```

Notes
-----

Les nœuds `Document` et `DocumentFragment` ne peuvent jamais avoir de parent, alors `parentNode` retournera toujours `null`.

Il renvoie également `null` si le nœud vient d'être créé et n'est pas encore attaché à l'arbre.

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

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

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

* DOM Level 2 Core: Node.parentNode
* DOM Level 3 Core: Node.parentNode
Voir aussi
----------

* `Node.firstChild`
* `Node.lastChild`
* `Node.childNodes`
* `Node.nextSibling`
* `Node.parentElement`
* `Node.previousSibling`
* `Node.removeChild`
element.previousSibling
=======================

La propriété en lecture seule **`Node.previousSibling`** renvoie le nœud (`node`) précédant immédiatement le nœud courant dans la liste `childNodes` de son parent, ou `null` s'il s'agit du premier nœud de la liste.

Syntaxe
-------


```js
previousNode = node.previousSibling;
```

Exemple
-------


```js
// <a><b1 id="b1"/><b2 id="b2"/></a>

alert(document.getElementById("b1").previousSibling); // null
alert(document.getElementById("b2").previousSibling.id); // "b1"
```

Notes
-----

 Les navigateurs basés sur Gecko insèrent des nœuds texte dans un document pour représenter des espaces
 vides dans le balisage source. Par conséquent, un nœud obtenu par exemple via `Node.firstChild` ou
 `Node.previousSibling` peut faire référence à un nœud texte contenant des espaces plutôt qu'au véritable élément
 que l'auteur comptait obtenir.

 Consultez Gestion des espaces dans le DOM
 et *Why are some Text nodes empty?*
dans la FAQ DOM 3 du W3C pour plus d'informations.

L'opération inverse `Node.nextSibling` permet de rechercher l'élément suivant.

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

* DOM Level 1 Core: previousSibling — traduction (non normative)
* DOM Level 2 Core: previousSibling — traduction (non normative)
* DOM Level 3 Core: previousSibling
Compatibilité des navigateurs
-----------------------------

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

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

`Node.nextSibling`