From 1c9b4d0154814e1768b9e2f67d4cd7d312be9c99 Mon Sep 17 00:00:00 2001 From: lvfangren Date: Fri, 4 Mar 2022 18:59:37 +0800 Subject: fix: delete repeat content --- files/zh-cn/web/css/inheritance/index.html | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/files/zh-cn/web/css/inheritance/index.html b/files/zh-cn/web/css/inheritance/index.html index 9cfa528f96..52c94642c8 100644 --- a/files/zh-cn/web/css/inheritance/index.html +++ b/files/zh-cn/web/css/inheritance/index.html @@ -38,18 +38,6 @@ translation_of: Web/CSS/inheritance

…文本 "emphasized text" 就没有边框,因为 {{ Cssxref("border-style") }} 属性的初始值为none

-

 {{ Cssxref("inherit") }} 关键字允许显式的声明继承性,它对继承和非继承属性都生效。

- -

可以使用 {{cssxref("all")}} 简写属性一次控制所有属性的继承,该属性将其值应用于所有属性,例如:

- -
font {
-  all: revert;
-  font-size: 200%;
-  font-weight: bold;
-}
- -

这会将 {{cssxref("font")}} 属性的样式恢复为用户代理(浏览器)的默认值,除非存在用户样式表,在这种情况下使用该样式表。然后它将字体大小加倍并应用 {{cssxref("font-weight")}} 属性 为"bold"

-

注意

{{ Cssxref("inherit") }} 关键字允许显式的声明继承性,它对继承和非继承属性都生效。

-- cgit v1.2.3-54-g00ecf From 975097f9c50807cee58ef633605e0c62da792e73 Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Fri, 4 Mar 2022 17:13:09 +0100 Subject: Update uint8clampedarray docs / translate missing page (#4387) * Update uint8clampedarray docs / translate missing page * fixed heading levels * unecessary new line * Minor typo fixes Co-authored-by: cw118 <87150472+cw118@users.noreply.github.com> --- .../global_objects/uint8clampedarray/index.md | 218 +++++++++------------ .../uint8clampedarray/uint8clampedarray/index.md | 95 +++++++++ 2 files changed, 184 insertions(+), 129 deletions(-) create mode 100644 files/fr/web/javascript/reference/global_objects/uint8clampedarray/uint8clampedarray/index.md diff --git a/files/fr/web/javascript/reference/global_objects/uint8clampedarray/index.md b/files/fr/web/javascript/reference/global_objects/uint8clampedarray/index.md index d8c0d29dcf..b9fad4500d 100644 --- a/files/fr/web/javascript/reference/global_objects/uint8clampedarray/index.md +++ b/files/fr/web/javascript/reference/global_objects/uint8clampedarray/index.md @@ -1,129 +1,106 @@ --- title: Uint8ClampedArray slug: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray -tags: - - Constructor - - JavaScript - - Reference - - TypedArray - - TypedArrays - - Uint8ClampedArray translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray original_slug: Web/JavaScript/Reference/Objets_globaux/Uint8ClampedArray +browser-compat: javascript.builtins.Uint8ClampedArray --- {{JSRef}} Le tableau typé **`Uint8ClampedArray`** permet de représenter un tableau d'entiers non signés représentés sur 8 bits, dont les valeurs sont ramenées entre 0 et 255. Si une valeur non-entière est fournie, elle sera arrondie à l'entier le plus proche. Les éléments du tableau sont initialisés à `0`. Une fois que le tableau est construit, on peut manipuler ses différents éléments grâce aux méthodes de l'objet ou grâce à la notation usuelle (avec les crochets). -## Syntaxe +## Constructeur - new Uint8ClampedArray(); // apparu avec ES2017 - new Uint8ClampedArray(longueur); - new Uint8ClampedArray(tableauTypé); - new Uint8ClampedArray(objet); - new Uint8ClampedArray(tampon [, décalage [, longueur]]); +- [`Uint8ClampedArray()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray/Uint8ClampedArray) + - : Crée un nouvel objet `Uint8ClampedArray`. -Pour plus d'informations sur la syntaxe du constructeur et le rôle des différents paramètres, voir la page _[TypedArray](/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray#Syntaxe)_. +## Propriétés statiques -## Propriétés +- [`Uint8ClampedArray.BYTES_PER_ELEMENT`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT) + - : Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurrence, pour `Uint8ClampedArray` ce sera `1`. +- [`Uint8ClampedArray.name`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/name) + - : Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour `Uint8ClampedArray` ce sera : "`Uint8ClampedArray`". -- {{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint8ClampedArray.BYTES_PER_ELEMENT")}} - - : Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurence, pour `Uint8ClampedArray` ce sera `1`. -- Uint8ClampedArray.length - - : La propriété de longueur statique qui vaut 3. Pour connaître le nombre d'éléments, voir {{jsxref("TypedArray.prototype.length", "Uint8ClampedArray.prototype.length")}}. -- {{jsxref("TypedArray.name", "Uint8ClampedArray.name")}} - - : Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour `Uint8ClampedArray` ce sera : "Uint8ClampedArray". -- {{jsxref("TypedArray.prototype", "Uint8ClampedArray.prototype")}} - - : Le prototype des objets _TypedArray_. +## Méthodes statiques -## Méthodes +- [`Uint8ClampedArray.from()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from) + - : Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi [`Array.from()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/from). +- [`Uint8ClampedArray.of()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of) + - : Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un nombre variable d'arguments. Voir aussi [`Array.of()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/of). -- {{jsxref("TypedArray.from", "Uint8ClampedArray.from()")}} - - : Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi {{jsxref("Array.from()")}}. -- {{jsxref("TypedArray.of", "Uint8ClampedArray.of()")}} - - : Cette méthode permet de créer un nouvel objet `Uint8ClampedArray` à partir d'un nombre variable d'arguments. Voir aussi {{jsxref("Array.of()")}}. +## Propriétés des instances -## Prototype `Uint8ClampedArray` - -Tous les objets `Uint8ClampedArray` héritent de {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}. - -### Propriétés - -- `Uint8ClampedArray.prototype.constructor` - - : Cette propriété renvoie la fonction qui a créé l'instance du prototype. Par défaut, ce sera le constructeur `Uint8ClampedArray`. -- {{jsxref("TypedArray.prototype.buffer", "Uint8ClampedArray.prototype.buffer")}} {{readonlyInline}} - - : Cette propriété renvoie l'objet {{jsxref("ArrayBuffer")}} référencé par l'objet `Uint8ClampedArray` Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.byteLength", "Uint8ClampedArray.prototype.byteLength")}} {{readonlyInline}} - - : Cette propriété renvoie la longueur, exprimée en octets, de l'objet `Uint8ClampedArray` à partir du début de l'objet {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.byteOffset", "Uint8ClampedArray.prototype.byteOffset")}} {{readonlyInline}} - - : Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.length", "Uint8ClampedArray.prototype.length")}} {{readonlyInline}} +- [`Uint8ClampedArray.prototype.buffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer) + - : Cette propriété renvoie l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) référencé par l'objet `Uint8ClampedArray`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8ClampedArray.prototype.byteLength`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength) + - : Cette propriété renvoie la longueur, exprimée en octets, de l'objet `Uint8ClampedArray` à partir du début de l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8ClampedArray.prototype.byteOffset`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset) + - : Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8ClampedArray.prototype.length`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length) - : Cette propriété renvoie le nombre d'éléments contenus dans le tableau `Uint8ClampedArray`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -### Méthodes - -- {{jsxref("TypedArray.copyWithin", "Uint8ClampedArray.prototype.copyWithin()")}} - - : Copie une suite d'éléments d'un tableau dans le tableau. Voir également {{jsxref("Array.prototype.copyWithin()")}}. -- {{jsxref("TypedArray.entries", "Uint8ClampedArray.prototype.entries()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les paires clé/valeur pour chaque indice du tableau. Voir également {{jsxref("Array.prototype.entries()")}}. -- {{jsxref("TypedArray.every", "Uint8ClampedArray.prototype.every()")}} - - : Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.every()")}}. -- {{jsxref("TypedArray.fill", "Uint8ClampedArray.prototype.fill()")}} - - : Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également {{jsxref("Array.prototype.fill()")}}. -- {{jsxref("TypedArray.filter", "Uint8ClampedArray.prototype.filter()")}} - - : Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également {{jsxref("Array.prototype.filter()")}}. -- {{jsxref("TypedArray.find", "Uint8ClampedArray.prototype.find()")}} - - : Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément `undefined` sera renvoyé. Voir également {{jsxref("Array.prototype.find()")}}. -- {{jsxref("TypedArray.findIndex", "Uint8ClampedArray.prototype.findIndex()")}} - - : Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition -1 sera renvoyé. Voir également {{jsxref("Array.prototype.findIndex()")}}. -- {{jsxref("TypedArray.forEach", "Uint8ClampedArray.prototype.forEach()")}} - - : Appelle une fonction pour chacun des élément du tableau. Voir également {{jsxref("Array.prototype.forEach()")}}. -- {{jsxref("TypedArray.includes", "Uint8ClampedArray.prototype.includes()")}} - - : Détermine si le tableau typé contient un élément donné. Cette méthode renvoie `true` ou `false` selon le cas de figure. Voir également {{jsxref("Array.prototype.includes()")}}. -- {{jsxref("TypedArray.indexOf", "Uint8ClampedArray.prototype.indexOf()")}} - - : Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.indexOf()")}}. -- {{jsxref("TypedArray.join", "Uint8ClampedArray.prototype.join()")}} - - : Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également {{jsxref("Array.prototype.join()")}}. -- {{jsxref("TypedArray.keys", "Uint8ClampedArray.prototype.keys()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les clés de chaque indice du tableau. Voir également {{jsxref("Array.prototype.keys()")}}. -- {{jsxref("TypedArray.lastIndexOf", "Uint8ClampedArray.prototype.lastIndexOf()")}} - - : Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.lastIndexOf()")}}. -- {{jsxref("TypedArray.map", "Uint8ClampedArray.prototype.map()")}} - - : Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également {{jsxref("Array.prototype.map()")}}. -- {{jsxref("TypedArray.move", "Uint8ClampedArray.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}} - - : Ancienne version, non-standard, de {{jsxref("TypedArray.copyWithin", "Uint8ClampedArray.prototype.copyWithin()")}}. -- {{jsxref("TypedArray.reduce", "Uint8ClampedArray.prototype.reduce()")}} - - : Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduce()")}}. -- {{jsxref("TypedArray.reduceRight", "Uint8ClampedArray.prototype.reduceRight()")}} - - : Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduceRight()")}}. -- {{jsxref("TypedArray.reverse", "Uint8ClampedArray.prototype.reverse()")}} - - : Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également {{jsxref("Array.prototype.reverse()")}}. -- {{jsxref("TypedArray.set", "Uint8ClampedArray.prototype.set()")}} +## Méthodes des instances + +- [`Uint8ClampedArray.prototype.copyWithin()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin) + - : Copie une suite d'éléments d'un tableau dans le tableau. Voir également [`Array.prototype.copyWithin()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin). +- [`Uint8ClampedArray.prototype.entries()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries) + - : Renvoie un nouvel *itérateur de tableau* qui contient les paires clé/valeur pour chaque indice du tableau. Voir également [`Array.prototype.entries()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/entries). +- [`Uint8ClampedArray.prototype.every()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every) + - : Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également [`Array.prototype.every()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/every). +- [`Uint8ClampedArray.prototype.fill()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill) + - : Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également [`Array.prototype.fill()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/fill). +- [`Uint8ClampedArray.prototype.filter()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter) + - : Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également [`Array.prototype.filter()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/filter). +- [`Uint8ClampedArray.prototype.find()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find) + - : Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément `undefined` sera renvoyé. Voir également [`Array.prototype.find()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/find). +- [`Uint8ClampedArray.prototype.findIndex()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex) + - : Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition `-1` sera renvoyé. Voir également [`Array.prototype.findIndex()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex). +- [`Uint8ClampedArray.prototype.forEach()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach) + - : Appelle une fonction pour chacun des éléments du tableau. Voir également [`Array.prototype.forEach()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach). +- [`Uint8ClampedArray.prototype.includes()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes) + - : Détermine si le tableau typé contient un élément donné. Cette méthode renvoie `true` ou `false` selon le cas de figure. Voir également [`Array.prototype.includes()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/includes). +- [`Uint8ClampedArray.prototype.indexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf) + - : Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur `-1` sera renvoyée. Voir également [`Array.prototype.indexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf). +- [`Uint8ClampedArray.prototype.join()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join) + - : Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également [`Array.prototype.join()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/join). +- [`Uint8ClampedArray.prototype.keys()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys) + - : Renvoie un nouvel *itérateur de tableau* qui contient les clés de chaque indice du tableau. Voir également [`Array.prototype.keys()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/keys). +- [`Uint8ClampedArray.prototype.lastIndexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf) + - : Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur `-1` sera renvoyée. Voir également [`Array.prototype.lastIndexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf). +- [`Uint8ClampedArray.prototype.map()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map) + - : Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également [`Array.prototype.map()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map). +- [`Uint8ClampedArray.prototype.reduce()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce) + - : Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également [`Array.prototype.reduce()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce). +- [`Uint8ClampedArray.prototype.reduceRight()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight) + - : Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également [`Array.prototype.reduceRight()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight). +- [`Uint8ClampedArray.prototype.reverse()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse) + - : Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également [`Array.prototype.reverse()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse). +- [`Uint8ClampedArray.prototype.set()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) - : Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau. -- {{jsxref("TypedArray.slice", "Uint8ClampedArray.prototype.slice()")}} - - : Extrait un fragment d'un tableau et renvoie ce fragment. Voir également {{jsxref("Array.prototype.slice()")}}. -- {{jsxref("TypedArray.some", "Uint8ClampedArray.prototype.some()")}} - - : Renvoie `true` si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.some()")}}. -- {{jsxref("TypedArray.sort", "Uint8ClampedArray.prototype.sort()")}} - - : Trie les éléments du tableau et renvoie ce tableau. Voir également {{jsxref("Array.prototype.sort()")}}. -- {{jsxref("TypedArray.subarray", "Uint8ClampedArray.prototype.subarray()")}} +- [`Uint8ClampedArray.prototype.slice()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice) + - : Extrait un fragment d'un tableau et renvoie ce fragment. Voir également [`Array.prototype.slice()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/slice). +- [`Uint8ClampedArray.prototype.some()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some) + - : Renvoie `true` si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également [`Array.prototype.some()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/some). +- [`Uint8ClampedArray.prototype.sort()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort) + - : Trie les éléments du tableau et renvoie ce tableau. Voir également [`Array.prototype.sort()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/sort). +- [`Uint8ClampedArray.prototype.subarray()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray) - : Renvoie un nouvel objet `Uint8ClampedArray` qui est le fragment du tableau courant, entre les indices de début et de fin donnés. -- {{jsxref("TypedArray.values", "Uint8ClampedArray.prototype.values()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les valeurs correspondantes à chaque indice du tableau. Voir également {{jsxref("Array.prototype.values()")}}. -- {{jsxref("TypedArray.toLocaleString", "Uint8ClampedArray.prototype.toLocaleString()")}} - - : Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toLocaleString()")}}. -- {{jsxref("TypedArray.toString", "Uint8ClampedArray.prototype.toString()")}} - - : Renvoie une chaîne de caractère qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toString()")}}. -- {{jsxref("TypedArray.@@iterator", "Uint8ClampedArray.prototype[@@iterator]()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les valeurs correspondantes à chaque indice du tableau. +- [`Uint8ClampedArray.prototype.values()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values) + - : Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau. Voir également [`Array.prototype.values()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/values). +- [`Uint8ClampedArray.prototype.toLocaleString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString) + - : Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également [`Array.prototype.toLocaleString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString). +- [`Uint8ClampedArray.prototype.toString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString) + - : Renvoie une chaîne de caractères qui représente le tableau et ses éléments. Voir également [`Array.prototype.toString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/toString). +- [`Uint8ClampedArray.prototype[@@iterator]()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/@@iterator) + - : Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau. ## Exemples -Différentes façon de créer un objet `Uint8ClampedArray` : +### Différentes façons de créer un objet `Uint8ClampedArray` ```js // Construction à partir d'une longueur -var uintc8 = new Uint8ClampedArray(2); +let uintc8 = new Uint8ClampedArray(2); uintc8[0] = 42; uintc8[1] = 1337; console.log(uintc8[0]); // 42 @@ -132,52 +109,35 @@ console.log(uintc8.length); // 2 console.log(uintc8.BYTES_PER_ELEMENT); // 1 // Construction à partir d'un tableau -var arr = new Uint8ClampedArray([21,31]); +let arr = new Uint8ClampedArray([21,31]); console.log(arr[1]); // 31 // Construction à partir d'un autre TypedArray -var x = new Uint8ClampedArray([21, 31]); -var y = new Uint8ClampedArray(x); +let x = new Uint8ClampedArray([21, 31]); +let y = new Uint8ClampedArray(x); console.log(y[0]); // 21 // Construction à partir d'un ArrayBuffer -var buffer = new ArrayBuffer(8); -var z = new Uint8ClampedArray(buffer, 1, 4); +let buffer = new ArrayBuffer(8); +let z = new Uint8ClampedArray(buffer, 1, 4); // Construction à partir d'un itérable -var iterable = function*(){ yield* [1,2,3]; }(); -var uintc8 = new Uint8ClampedArray(iterable); +let iterable = function*(){ yield* [1,2,3]; }(); +let uintc8 = new Uint8ClampedArray(iterable); // Uint8ClampedArray[1, 2, 3] ``` ## Spécifications -| Spécification | Statut | Commentaires | -| ------------------------------------------------------------------------------------ | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| {{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Englobée par ECMAScript 2015 | -| {{SpecName('ES6', '#table-49', 'TypedArray constructors')}} | {{Spec2('ES6')}} | Définition initiale au sein d'un standard ECMA. `new` est obligatoire. | -| {{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}} | {{Spec2('ESDraft')}} | ECMAScript 2017 a modifié le constructeur `Uint8ClampedArray` afin qu'il utilise l'opération `ToIndex` et qu'il puisse être utilisé sans argument. | +{{Specifications}} ## Compatibilité des navigateurs -{{Compat("javascript.builtins.Uint8ClampedArray")}} - -## Notes de compatibilité - -À partir d'ECMAScript 2015 (ES6), `Uint8ClampedArray` doit être utilisé avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler `Uint8ClampedArray` comme une fonction, sans `new`, provoquera une exception {{jsxref("TypeError")}}. - -```js example-bad -var dv = Uint8ClampedArray([1, 2, 3]); -// TypeError: calling a builtin Uint8ClampedArray constructor -// without new is forbidden -``` - -```js example-good -var dv = new Uint8ClampedArray([1, 2, 3]); -``` +{{Compat}} ## Voir aussi -- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Tableaux_typés) -- {{jsxref("ArrayBuffer")}} -- {{jsxref("DataView")}} +- [Une prothèse d'émulation (polyfill) pour `Uint8ClampedArray` avec `core-js`](https://github.com/zloirock/core-js#ecmascript-typed-arrays) +- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Typed_arrays) +- [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +- [`DataView`](/fr/docs/Web/JavaScript/Reference/Global_Objects/DataView) diff --git a/files/fr/web/javascript/reference/global_objects/uint8clampedarray/uint8clampedarray/index.md b/files/fr/web/javascript/reference/global_objects/uint8clampedarray/uint8clampedarray/index.md new file mode 100644 index 0000000000..9974741dca --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/uint8clampedarray/uint8clampedarray/index.md @@ -0,0 +1,95 @@ +--- +title: Constructeur Uint8ClampedArray() +slug: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray/Uint8ClampedArray +translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray/Uint8ClampedArray +browser-compat: javascript.builtins.Uint8ClampedArray.Uint8ClampedArray +--- +{{JSRef}} + +Le constructeur **`Uint8ClampedArray()`** permet de créer un tableau typé contenant des entiers non-signés sur 8 bits, dont la valeur est ramenée entre 0 et 255. Une valeur indiquée, en dehors de cet intervalle, sera écrêtée. Une valeur non entière sera arrondie à l'entier le plus proche. Le contenu d'un tel tableau est initialisé avec des `0`. Une fois le tableau construit, on peut faire référence aux éléments du tableau à l'aide des méthodes de l'objet ou en utilisant la notation usuelle pour les tableaux avec les crochets. + +## Syntaxe + +```js +new Uint8ClampedArray(); // apparu avec ES2017 +new Uint8ClampedArray(longueur); +new Uint8ClampedArray(tableauType); +new Uint8ClampedArray(objet); + +new Uint8ClampedArray(buffer); +new Uint8ClampedArray(buffer, decalageOctets); +new Uint8ClampedArray(buffer, decalageOctets, longueur); +``` + +### Paramètres + +- `longueur` + - : Lorsque le constructeur est invoqué avec un argument indiquant une longueur, un tampon de mémoire interne tabulé est créé, dont la taille en octets est `longueur` _multipliée par `BYTES_PER_ELEMENT`_, et qui contient des zéros. +- `tableauType` + - : Lorsque le constructeur est invoqué avec un tableau typé comme argument (tout tableau typé en dehors des tableaux typés [`bigint`](/fr/docs/Glossary/BigInt) tel que [`Int32Array`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Int32Array)), ce tableau typé est copié dans un nouveau tableau typé. Chaque valeur de `tableauType` est convertie dans le type correspondant au constructeur avant d'être copiée dans le nouveau tableau. La longueur du nouveau tableau typé sera la même que celle de `tableauType`. +- `objet` + - : Lorsque le constructeur est appelé avec un objet comme argument, le nouveau tableau typé est créé avec la méthode `TypedArray.from()`. +- `buffer`, `decalageOctets`, `longueur` + - : Lorsque le constructeur est invoqué avec un tampon, éventuellement un décalage en octets et une longueur, une nouvelle vue en tableau typé est créée qui reflète l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Les paramètres `decalageOctets` et `longueur` indique l'intervalle de mémoire exposé à la vue. Si ces deux paramètres sont absents, c'est l'intégralité du tampon qui est vue. Si la longueur est absente, c'est la portion du tampon, après le décalage indiqué, qui est vue. + +## Exemples + +### Différentes façons de créer un objet `Uint8ClampedArray` + +```js +// À partir d'une longueur +let uintc8 = new Uint8ClampedArray(2); +uintc8[0] = 42; +uintc8[1] = 1337; +console.log(uintc8[0]); // 42 +console.log(uintc8[1]); // 255 (écrétée) +console.log(uintc8.length); // 2 +console.log(uintc8.BYTES_PER_ELEMENT); // 1 + +// À partir d'un tableau +let arr = new Uint8ClampedArray([21,31]); +console.log(arr[1]); // 31 + +// À partir d'un autre tableau typé +let x = new Uint8ClampedArray([21, 31]); +let y = new Uint8ClampedArray(x); +console.log(y[0]); // 21 + +// À partir d'un ArrayBuffer +let buffer = new ArrayBuffer(8); +let z = new Uint8ClampedArray(buffer, 1, 4); + +// À partir d'un itérable +let iterable = function*(){ yield* [1,2,3]; }(); +let uintc8 = new Uint8ClampedArray(iterable); +// Uint8ClampedArray[1, 2, 3] +``` + +## Spécifications + +{{Specifications}} + +## Compatibilité des navigateurs + +{{Compat}} + +### Notes de compatibilité + +À partir d'ECMAScript 2015, le constructeur `Uint8ClampedArray` doit être appelé avec l'opérateur [`new`](/fr/docs/Web/JavaScript/Reference/Operators/new). Invoquer le constructeur `Uint8ClampedArray` comme une fonction, sans `new`, déclenchera une exception [`TypeError`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypeError). + +```js example-bad +let dv = Uint8ClampedArray([1, 2, 3]); +// TypeError: calling a builtin Uint8ClampedArray +// constructor without new is forbidden +``` + +```js example-good +let dv = new Uint8ClampedArray([1, 2, 3]); +``` + +## Voir aussi + +- [Une prothèse d'émulation (polyfill) pour `Uint8ClampedArray` avec `core-js`](https://github.com/zloirock/core-js#ecmascript-typed-arrays) +- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Typed_arrays) +- [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +- [`DataView`](/fr/docs/Web/JavaScript/Reference/Global_Objects/DataView) -- cgit v1.2.3-54-g00ecf From 2fe3e4b4ea4352696f8012d8570109e9c0e6b3d8 Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Fri, 4 Mar 2022 18:05:44 +0100 Subject: Update uint8array docs / translate missing page (#4395) * Update uint8array docs / translate missing page * Minor typo fixes/nitpicking Co-authored-by: cw118 <87150472+cw118@users.noreply.github.com> --- .../reference/global_objects/uint8array/index.md | 220 +++++++++------------ .../global_objects/uint8array/uint8array/index.md | 93 +++++++++ 2 files changed, 183 insertions(+), 130 deletions(-) create mode 100644 files/fr/web/javascript/reference/global_objects/uint8array/uint8array/index.md diff --git a/files/fr/web/javascript/reference/global_objects/uint8array/index.md b/files/fr/web/javascript/reference/global_objects/uint8array/index.md index e4cb8de79c..5f30ffb406 100644 --- a/files/fr/web/javascript/reference/global_objects/uint8array/index.md +++ b/files/fr/web/javascript/reference/global_objects/uint8array/index.md @@ -1,181 +1,141 @@ --- title: Uint8Array slug: Web/JavaScript/Reference/Global_Objects/Uint8Array -tags: - - Constructor - - JavaScript - - Reference - - TypedArray - - TypedArrays - - Uint8Array translation_of: Web/JavaScript/Reference/Global_Objects/Uint8Array original_slug: Web/JavaScript/Reference/Objets_globaux/Uint8Array +browser-compat: javascript.builtins.Uint8Array --- {{JSRef}} Le tableau typé **`Uint8Array`** représente un tableau d'entiers non signés, représentés sur 8 bits. Les éléments du tableau sont initialisés à `0`. Une fois que le tableau est construit, on peut manipuler ses différents éléments grâce aux méthodes de l'objet ou grâce à la notation usuelle (avec les crochets). -## Syntaxe +## Constructeur - new Uint8Array(); // apparu avec ES2017 - new Uint8Array(longueur); - new Uint8Array(tableauTypé); - new Uint8Array(objet); - new Uint8Array(tampon [, décalage [, longueur]]); +- [`Uint8Array()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/Uint8Array) + - : Crée un nouvel objet `Uint8Array`. -Pour plus d'informations sur la syntaxe du constructeur et le rôle des différents paramètres, voir la page _[TypedArray](/fr/docs/Web/JavaScript/Reference/Objets_globaux/TypedArray#Syntaxe)_. +## Propriétés statiques -## Propriétés +- [`Uint8Array.BYTES_PER_ELEMENT`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT) + - : Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurrence, pour `Uint8Array` ce sera `1`. +- [`Uint8Array.name`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/name) + - : Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour `Uint8Array` ce sera : "`Uint8Array`". -- {{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint8Array.BYTES_PER_ELEMENT")}} - - : Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurence, pour `Uint8Array` ce sera `1`. -- Uint8Array.length - - : La propriété de longueur statique qui vaut 3. Pour connaître le nombre d'élément, voir {{jsxref("TypedArray.prototype.length", "Uint8Array.prototype.length")}}. -- {{jsxref("TypedArray.name", "Uint8Array.name")}} - - : Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour `Uint8Array` ce sera : "Uint8Array". -- {{jsxref("TypedArray.prototype", "Uint8Array.prototype")}} - - : Le prototype des objets _TypedArray_. +## Méthodes statiques -## Méthodes +- [`Uint8Array.from()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from) + - : Cette méthode permet de créer un nouvel objet `Uint8Array` à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi [`Array.from()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/from). +- [`Uint8Array.of()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of) + - : Cette méthode permet de créer un nouvel objet `Uint8Array` à partir d'un nombre variable d'arguments. Voir aussi [`Array.of()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/of). -- {{jsxref("TypedArray.from", "Uint8Array.from()")}} - - : Cette méthode permet de créer un nouvel objet `Uint8Array` à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussi {{jsxref("Array.from()")}}. -- {{jsxref("TypedArray.of", "Uint8Array.of()")}} - - : Cette méthode permet de créer un nouvel objet `Uint8Array` à partir d'un nombre variables d'arguments. Voir aussi {{jsxref("Array.of()")}}. +## Propriétés des instances -## Prototype `Uint8Array` - -Tous les objets `Uint8Array` héritent de {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}. - -### Propriétés - -- `Uint8Array.prototype.constructor` - - : Cette propriété renvoie la fonction qui a créé l'instance du prototype. Par défaut, ce sera le constructeur `Uint8Array`. -- {{jsxref("TypedArray.prototype.buffer", "Uint8Array.prototype.buffer")}} {{readonlyInline}} - - : Cette propriété renvoie l'objet {{jsxref("ArrayBuffer")}} référencé par l'objet `Uint8Array` Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.byteLength", "Uint8Array.prototype.byteLength")}} {{readonlyInline}} - - : Cette propriété renvoie la longueur, exprimée en octets, de l'objet `Uint8Array` à partir du début de l'objet {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.byteOffset", "Uint8Array.prototype.byteOffset")}} {{readonlyInline}} - - : Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du {{jsxref("ArrayBuffer")}} correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -- {{jsxref("TypedArray.prototype.length", "Uint8Array.prototype.length")}} {{readonlyInline}} +- [`Uint8Array.prototype.buffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer) + - : Cette propriété renvoie l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) référencé par l'objet `Uint8Array`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8Array.prototype.byteLength`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength) + - : Cette propriété renvoie la longueur, exprimée en octets, de l'objet `Uint8Array` à partir du début de l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8Array.prototype.byteOffset`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset) + - : Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. +- [`Uint8Array.prototype.length`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length) - : Cette propriété renvoie le nombre d'éléments contenus dans le tableau `Uint8Array`. Elle est déterminée lors de la construction et est accessible uniquement en **lecture seule**. -### Méthodes - -- {{jsxref("TypedArray.copyWithin", "Uint8Array.prototype.copyWithin()")}} - - : Copie une suite d'éléments d'un tableau dans le tableau. Voir également {{jsxref("Array.prototype.copyWithin()")}}. -- {{jsxref("TypedArray.entries", "Uint8Array.prototype.entries()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les paires clé/valeur pour chaque indice du tableau. Voir également {{jsxref("Array.prototype.entries()")}}. -- {{jsxref("TypedArray.every", "Uint8Array.prototype.every()")}} - - : Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.every()")}}. -- {{jsxref("TypedArray.fill", "Uint8Array.prototype.fill()")}} - - : Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également {{jsxref("Array.prototype.fill()")}}. -- {{jsxref("TypedArray.filter", "Uint8Array.prototype.filter()")}} - - : Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également {{jsxref("Array.prototype.filter()")}}. -- {{jsxref("TypedArray.find", "Uint8Array.prototype.find()")}} - - : Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément `undefined` sera renvoyé. Voir également {{jsxref("Array.prototype.find()")}}. -- {{jsxref("TypedArray.findIndex", "Uint8Array.prototype.findIndex()")}} - - : Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition -1 sera renvoyé. Voir également {{jsxref("Array.prototype.findIndex()")}}. -- {{jsxref("TypedArray.forEach", "Uint8Array.prototype.forEach()")}} - - : Appelle une fonction pour chacun des élément du tableau. Voir également {{jsxref("Array.prototype.forEach()")}}. -- {{jsxref("TypedArray.includes", "Uint8Array.prototype.includes()")}} - - : Détermine si le tableau typé contient un élément donné. Cette méthode renvoie `true` ou `false` selon le cas de figure. Voir également {{jsxref("Array.prototype.includes()")}}. -- {{jsxref("TypedArray.indexOf", "Uint8Array.prototype.indexOf()")}} - - : Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.indexOf()")}}. -- {{jsxref("TypedArray.join", "Uint8Array.prototype.join()")}} - - : Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également {{jsxref("Array.prototype.join()")}}. -- {{jsxref("TypedArray.keys", "Uint8Array.prototype.keys()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les clés de chaque indice du tableau. Voir également {{jsxref("Array.prototype.keys()")}}. -- {{jsxref("TypedArray.lastIndexOf", "Uint8Array.prototype.lastIndexOf()")}} - - : Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également {{jsxref("Array.prototype.lastIndexOf()")}}. -- {{jsxref("TypedArray.map", "Uint8Array.prototype.map()")}} - - : Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également {{jsxref("Array.prototype.map()")}}. -- {{jsxref("TypedArray.move", "Uint8Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}} - - : Ancienne version, non-standard, de {{jsxref("TypedArray.copyWithin", "Uint8Array.prototype.copyWithin()")}}. -- {{jsxref("TypedArray.reduce", "Uint8Array.prototype.reduce()")}} - - : Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduce()")}}. -- {{jsxref("TypedArray.reduceRight", "Uint8Array.prototype.reduceRight()")}} - - : Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également {{jsxref("Array.prototype.reduceRight()")}}. -- {{jsxref("TypedArray.reverse", "Uint8Array.prototype.reverse()")}} - - : Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également {{jsxref("Array.prototype.reverse()")}}. -- {{jsxref("TypedArray.set", "Uint8Array.prototype.set()")}} - - : Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau. -- {{jsxref("TypedArray.slice", "Uint8Array.prototype.slice()")}} - - : Extrait un fragment d'un tableau et renvoie ce fragment. Voir également {{jsxref("Array.prototype.slice()")}}. -- {{jsxref("TypedArray.some", "Uint8Array.prototype.some()")}} - - : Renvoie `true` si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.some()")}}. -- {{jsxref("TypedArray.sort", "Uint8Array.prototype.sort()")}} - - : Trie les éléments du tableau et renvoie ce tableau. Voir également {{jsxref("Array.prototype.sort()")}}. -- {{jsxref("TypedArray.subarray", "Uint8Array.prototype.subarray()")}} +## Méthodes des instances + +- [`Uint8Array.prototype.copyWithin()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin) + - : Copie une suite d'éléments d'un tableau dans le tableau. Voir également [`Array.prototype.copyWithin()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin). +- [`Uint8Array.prototype.entries()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries) + - : Renvoie un nouvel *itérateur de tableau* qui contient les paires clé/valeur pour chaque indice du tableau. Voir également [`Array.prototype.entries()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/entries). +- [`Uint8Array.prototype.every()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every) + - : Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également [`Array.prototype.every()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/every). +- [`Uint8Array.prototype.fill()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill) + - : Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également [`Array.prototype.fill()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/fill). +- [`Uint8Array.prototype.filter()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter) + - : Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également [`Array.prototype.filter()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/filter). +- [`Uint8Array.prototype.find()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find) + - : Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément `undefined` sera renvoyé. Voir également [`Array.prototype.find()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/find). +- [`Uint8Array.prototype.findIndex()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex) + - : Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition `-1` sera renvoyé. Voir également [`Array.prototype.findIndex()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex). +- [`Uint8Array.prototype.forEach()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach) + - : Appelle une fonction pour chacun des éléments du tableau. Voir également [`Array.prototype.forEach()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach). +- [`Uint8Array.prototype.includes()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes) + - : Détermine si le tableau typé contient un élément donné. Cette méthode renvoie `true` ou `false` selon le cas de figure. Voir également [`Array.prototype.includes()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/includes). +- [`Uint8Array.prototype.indexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf) + - : Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur `-1` sera renvoyée. Voir également [`Array.prototype.indexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf). +- [`Uint8Array.prototype.join()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join) + - : Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également [`Array.prototype.join()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/join). +- [`Uint8Array.prototype.keys()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys) + - : Renvoie un nouvel *itérateur de tableau* qui contient les clés de chaque indice du tableau. Voir également [`Array.prototype.keys()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/keys). +- [`Uint8Array.prototype.lastIndexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf) + - : Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur `-1` sera renvoyée. Voir également [`Array.prototype.lastIndexOf()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf). +- [`Uint8Array.prototype.map()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map) + - : Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également [`Array.prototype.map()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map). +- [`Uint8Array.prototype.reduce()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce) + - : Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également [`Array.prototype.reduce()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce). +- [`Uint8Array.prototype.reduceRight()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight) + - : Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également [`Array.prototype.reduceRight()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight). +- [`Uint8Array.prototype.reverse()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse) + - : Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également [`Array.prototype.reverse()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse). +- [`Uint8Array.prototype.set()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) + - : Enregistre plusieurs valeurs dans le tableau typé à partir des valeurs d'un autre tableau. +- [`Uint8Array.prototype.slice()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice) + - : Extrait un fragment d'un tableau et renvoie ce fragment. Voir également [`Array.prototype.slice()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/slice). +- [`Uint8Array.prototype.some()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some) + - : Renvoie `true` si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également [`Array.prototype.some()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/some). +- [`Uint8Array.prototype.sort()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort) + - : Trie les éléments du tableau et renvoie ce tableau. Voir également [`Array.prototype.sort()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/sort). +- [`Uint8Array.prototype.subarray()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray) - : Renvoie un nouvel objet `Uint8Array` qui est le fragment du tableau courant, entre les indices de début et de fin donnés. -- {{jsxref("TypedArray.values", "Uint8Array.prototype.values()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les valeurs correspondantes à chaque indice du tableau. Voir également {{jsxref("Array.prototype.values()")}}. -- {{jsxref("TypedArray.toLocaleString", "Uint8Array.prototype.toLocaleString()")}} - - : Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toLocaleString()")}}. -- {{jsxref("TypedArray.toString", "Uint8Array.prototype.toString()")}} - - : Renvoie une chaîne de caractère qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toString()")}}. -- {{jsxref("TypedArray.@@iterator", "Uint8Array.prototype[@@iterator]()")}} - - : Renvoie un nouvel objet `Array Iterator` qui contient les valeurs correspondantes à chaque indice du tableau. +- [`Uint8Array.prototype.values()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values) + - : Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau. Voir également [`Array.prototype.values()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/values). +- [`Uint8Array.prototype.toLocaleString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString) + - : Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également [`Array.prototype.toLocaleString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString). +- [`Uint8Array.prototype.toString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString) + - : Renvoie une chaîne de caractères qui représente le tableau et ses éléments. Voir également [`Array.prototype.toString()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/toString). +- [`Uint8Array.prototype[@@iterator]()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/@@iterator) + - : Renvoie un nouvel *itérateur de tableau* qui contient les valeurs correspondantes à chaque indice du tableau. ## Exemples -Différentes façons de construire un objet `Uint8Array` : +### Différentes façons de construire un objet `Uint8Array` ```js // Construction à partir d'une longueur -var uint8 = new Uint8Array(2); +let uint8 = new Uint8Array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.BYTES_PER_ELEMENT); // 1 // Construction à partir d'un tableau -var arr = new Uint8Array([21,31]); +let arr = new Uint8Array([21,31]); console.log(arr[1]); // 31 // Construction à partir d'un tableau typé -var x = new Uint8Array([21, 31]); -var y = new Uint8Array(x); +let x = new Uint8Array([21, 31]); +let y = new Uint8Array(x); console.log(y[0]); // 21 // Construction à partir d'un ArrayBuffer -var buffer = new ArrayBuffer(8); -var z = new Uint8Array(buffer, 1, 4); +let buffer = new ArrayBuffer(8); +let z = new Uint8Array(buffer, 1, 4); // Construction à partir d'un itérable -var iterable = function*(){ yield* [1,2,3]; }(); -var uint8 = new Uint8Array(iterable); +let iterable = function*(){ yield* [1,2,3]; }(); +let uint8 = new Uint8Array(iterable); // Uint8Array[1, 2, 3] ``` ## Spécifications -| Spécification | État | Commentaires | -| ------------------------------------------------------------------------------------ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -| {{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Englobée par ECMAScript 2015. | -| {{SpecName('ES6', '#table-49', 'TypedArray constructors')}} | {{Spec2('ES6')}} | Définition initiale au sein d'un standard ECMA. `new` est obligatoire. | -| {{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}} | {{Spec2('ESDraft')}} | ECMAScript 2017 a modifié le constructeur `Uint8Array` afin qu'il utilise l'opération `ToIndex` et qu'il puisse être utilisé sans argument. | +{{Specifications}} ## Compatibilité des navigateurs -{{Compat("javascript.builtins.Uint8Array")}} - -## Notes de compatibilité - -À partir d'ECMAScript 2015 (ES6), `Uint8Array` doit être utilisé avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler un constructeur `Uint8Array` comme une fonction, sans `new`, provoquera une exception {{jsxref("TypeError")}}. - -```js example-bad -var dv = Uint8Array([1, 2, 3]); -// TypeError: calling a builtin Uint8Array constructor -// without new is forbidden -``` - -```js example-good -var dv = new Uint8Array([1, 2, 3]); -``` +{{Compat}} ## Voir aussi -- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Tableaux_typés) -- {{jsxref("ArrayBuffer")}} -- {{jsxref("DataView")}} +- [Une prothèse d'émulation (polyfill) pour `Uint8ClampedArray` avec `core-js`](https://github.com/zloirock/core-js#ecmascript-typed-arrays) +- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Typed_arrays) +- [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +- [`DataView`](/fr/docs/Web/JavaScript/Reference/Global_Objects/DataView) diff --git a/files/fr/web/javascript/reference/global_objects/uint8array/uint8array/index.md b/files/fr/web/javascript/reference/global_objects/uint8array/uint8array/index.md new file mode 100644 index 0000000000..5248fb1261 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/uint8array/uint8array/index.md @@ -0,0 +1,93 @@ +--- +title: Constructeur Uint8Array() +slug: Web/JavaScript/Reference/Global_Objects/Uint8Array/Uint8Array +translation_of: Web/JavaScript/Reference/Global_Objects/Uint8Array/Uint8Array +browser-compat: javascript.builtins.Uint8Array.Uint8Array +--- +{{JSRef}} + +Le constructeur **`Uint8Array()`** crée un tableau typé contenant des entiers non-signés sur 8 bits. Le contenu de ces éléments est initialisé à `0`. Une fois le tableau construit, on peut faire référence aux éléments du tableau à l'aide des méthodes de l'objet ou en utilisant la notation usuelle pour les tableaux avec les crochets. + +## Syntaxe + +```js +new Uint8Array(); // apparu avec ES2017 +new Uint8Array(longueur); +new Uint8Array(tableauType); +new Uint8Array(objet); + +new Uint8Array(buffer); +new Uint8Array(buffer, decalageOctets); +new Uint8Array(buffer, decalageOctets, longueur); +``` + +### Paramètres + +- `longueur` + - : Lorsque le constructeur est invoqué avec un argument indiquant une longueur, un tampon de mémoire interne tabulé est créé, dont la taille en octets est `longueur` _multipliée par `BYTES_PER_ELEMENT`_, et qui contient des zéros. +- `tableauType` + - : Lorsque le constructeur est invoqué avec un tableau typé comme argument (tout tableau typé en dehors des tableaux typés [`bigint`](/fr/docs/Glossary/BigInt) tel que `Int32Array`), ce tableau typé est copié dans un nouveau tableau typé. Chaque valeur de `tableauType` est convertie dans le type correspondant au constructeur avant d'être copiée dans le nouveau tableau. La longueur du nouveau tableau typé sera la même que celle de `tableauType`. +- `objet` + - : Lorsque le constructeur est appelé avec un objet comme argument, le nouveau tableau typé est créé avec la méthode `TypedArray.from()`. +- `buffer`, `decalageOctets`, `longueur` + - : Lorsque le constructeur est invoqué avec un tampon, éventuellement un décalage en octets et une longueur, une nouvelle vue en tableau typé est créée qui reflète l'objet [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) correspondant. Les paramètres `decalageOctets` et `longueur` indique l'intervalle de mémoire exposé à la vue. Si ces deux paramètres sont absents, c'est l'intégralité du tampon qui est vue. Si la longueur est absente, c'est la portion du tampon, après le décalage indiqué, qui est vue. + +## Exemples + +### Différentes façons de construire un objet `Uint8Array` + +```js +// Construction à partir d'une longueur +let uint8 = new Uint8Array(2); +uint8[0] = 42; +console.log(uint8[0]); // 42 +console.log(uint8.length); // 2 +console.log(uint8.BYTES_PER_ELEMENT); // 1 + +// Construction à partir d'un tableau +let arr = new Uint8Array([21,31]); +console.log(arr[1]); // 31 + +// Construction à partir d'un tableau typé +let x = new Uint8Array([21, 31]); +let y = new Uint8Array(x); +console.log(y[0]); // 21 + +// Construction à partir d'un ArrayBuffer +let buffer = new ArrayBuffer(8); +let z = new Uint8Array(buffer, 1, 4); + +// Construction à partir d'un itérable +let iterable = function*(){ yield* [1,2,3]; }(); +let uint8 = new Uint8Array(iterable); +// Uint8Array[1, 2, 3] +``` + +## Spécifications + +{{Specifications}} + +## Compatibilité des navigateurs + +{{Compat}} + +## Notes de compatibilité + +À partir d'ECMAScript 2015 (ES6), `Uint8Array` doit être utilisé avec l'opérateur [`new`](/fr/docs/Web/JavaScript/Reference/Operators/new). Appeler un constructeur `Uint8Array` comme une fonction, sans `new`, provoquera une exception [`TypeError`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypeError). + +```js example-bad +let dv = Uint8Array([1, 2, 3]); +// TypeError: calling a builtin Uint8Array constructor +// without new is forbidden +``` + +```js example-good +let dv = new Uint8Array([1, 2, 3]); +``` + +## Voir aussi + +- [Une prothèse d'émulation (polyfill) pour `Uint8ClampedArray` avec `core-js`](https://github.com/zloirock/core-js#ecmascript-typed-arrays) +- [Les tableaux typés en JavaScript](/fr/docs/Web/JavaScript/Typed_arrays) +- [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +- [`DataView`](/fr/docs/Web/JavaScript/Reference/Global_Objects/DataView) \ No newline at end of file -- cgit v1.2.3-54-g00ecf From 5fab7a350aae684ba816f4caa8ed1453687e461f Mon Sep 17 00:00:00 2001 From: DegrangeM <53106394+DegrangeM@users.noreply.github.com> Date: Fri, 4 Mar 2022 20:49:55 +0100 Subject: [French] Fix explanation about the defer attribute (#4404) Fix #4113 --- files/fr/web/javascript/guide/modules/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/fr/web/javascript/guide/modules/index.md b/files/fr/web/javascript/guide/modules/index.md index 96cdf51b3d..4c2db796ba 100644 --- a/files/fr/web/javascript/guide/modules/index.md +++ b/files/fr/web/javascript/guide/modules/index.md @@ -182,7 +182,7 @@ Les instructions `import` et `export` ne peuvent être utilisées qu'à l'intér - Attention aux tests sur un environnement local : si vous chargez le fichier HTML directement depuis le système de fichier dans le navigateur (en double-cliquant dessus par exemple, ce qui donnera une URL `file://`), vous rencontrerez des erreurs CORS pour des raisons de sécurité. Il faut donc un serveur local afin de pouvoir tester. - On pourra avoir un comportement différent entre un même script utilisé comme un module et un script utilisé de façon « classique ». En effet, les modules utilisent automatiquement [le mode strict](/fr/docs/Web/JavaScript/Reference/Strict_mode). -- Il n'est pas nécessaire d'utiliser l'attribut `defer` (voir [les attributs de ` +``` + +上記の例では[コンソール](/ja/docs/Web/API/console)に '#text' と表示されます。開始タグ `

` の末尾と `` タグとの間にある空白を調整するためにテキストノードが挿入されているためです。**あらゆる**[ホワイトスペース](/ja/docs/Web/API/Document_Object_Model/Whitespace)は、単一の空白から複数のスペース、改行、タブに至るまで、 1 つの `#text` ノードを生成します。 + +`#text` ノードはもう 1 つ、閉じタグ `` と `

` の間に挿入されます。 + +ホワイトスペースをソースから取り除くと、 #text ノードは挿入されず、 span 要素がその段落の最初の子になります。 + +```html +

最初の span

+ + +``` + +コンソールには 'SPAN' と表示されるようになります。 + +`node.firstChild` が `#text` や `#comment` ノードを返す問題を回避するには、 {{domxref("Element.firstElementChild")}} を使用すると最初の要素ノードのみを返すことができます。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Element.firstElementChild")}} +- {{domxref("Node.lastChild")}} diff --git a/files/ja/web/api/node/lastchild/index.md b/files/ja/web/api/node/lastchild/index.md index e7f5626f3c..9e9d386274 100644 --- a/files/ja/web/api/node/lastchild/index.md +++ b/files/ja/web/api/node/lastchild/index.md @@ -2,27 +2,38 @@ title: Node.lastChild slug: Web/API/Node/lastChild tags: - - DOM - - Gecko - - Gecko DOM Reference - - Node + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.lastChild translation_of: Web/API/Node/lastChild --- -
- {{ApiRef}}
-

概要

-

lastChild はノードの子要素の内、最後のものを返します。

-

構文

-
var last_child = element.lastChild
-
-

説明

-

lastChild として返されるのはノードです。その親が要素であるならば、子ノードは一般的に Element ノード、Text ノード、Comment ノード となります。子要素を持たない場合は null が返されます。

-

-
var tr = document.getElementById("row1");  // table 要素の特定の行を取得
-var corner_td = tr.lastChild;  // 特定の行の内、最後のセルを取得
-
-

仕様書

-
    -
  • {{Spec("http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-61AD09FB", "DOM Level 2: lastChild", "REC")}}
  • -
  • {{Spec("http://dom.spec.whatwg.org/#dom-node-lastchild", "DOM Standard: lastChild")}}
  • -
+{{APIRef("DOM")}} + +**`lastChild`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、このノードの最後の子ノードを返します。 +親ノードが要素であった場合、子ノードはふつう、要素ノード、テキストノード、コメントノードの何れかです。 +子要素がない場合は `null` を返します。 + +## Value + +このノードの最後の子である {{domxref("Node")}}、または子ノードがなければ `null` です。 + +## 例 + +```js +const tr = document.getElementById("row1"); +const corner_td = tr.lastChild; +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.firstChild")}} +- {{domxref("Element.lastElementChild")}} diff --git a/files/ja/web/api/node/nextsibling/index.md b/files/ja/web/api/node/nextsibling/index.md index 1ff4c13cef..f310d8e456 100644 --- a/files/ja/web/api/node/nextsibling/index.md +++ b/files/ja/web/api/node/nextsibling/index.md @@ -2,86 +2,65 @@ title: Node.nextSibling slug: Web/API/Node/nextSibling tags: - - DOM - - Gecko - - Node - - 要更新 + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.nextSibling translation_of: Web/API/Node/nextSibling --- -
-
-
{{APIRef("DOM")}}
-
+{{APIRef("DOM")}} -

Node.nextSibling という読み取り専用プロパティは指定したノードの親の{{domxref("Node.childNodes","子ノード")}}リスト内ですぐ次にあるノードを返し、指定したノードがリストで最後の場合は null を返します。

-
+**`nextSibling`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、指定されたノードの親の {{domxref("Node.childNodes","childNodes")}} の中で、そのすぐ次のノードを返します。または、指定されたノードが親要素の最後の子要素である場合は `null` を返します。 -

構文

+> **Note:** ブラウザーはソースのマークアップにあるホワイトスペースを表すために、文書に {{domxref("Text")}} ノードを挿入します。 +> そのため、例えば [`Node.firstChild`](/ja/docs/Web/API/Node/firstChild) や [`Node.previousSibling`](/ja/docs/Web/API/Node/previousSibling) を使用して得たノードが、取得しようとした実際のノードではなく、ホワイトスペースのテキストノードであることがあります。 +> +> [DOM でのホワイトスペース](/ja/docs/Web/API/Document_Object_Model/Whitespace)の記事に、この動作に関する詳しい情報があります。 +> +> {{domxref("Element.nextElementSibling")}} を使用すると、ホワイトスペースのノードや要素間のテキスト、コメントなどを飛ばして次の要素を取得することができます。 +> +> 子ノードのリストで反対方向に移動する場合は、 [Node.previousSibling](/ja/docs/Web/API/Node/previousSibling) を使用してください。 -
nextNode = node.nextSibling
-
+## 値 -

注記

+現在のノードの次の兄弟ノードを表す {{domxref("Node")}}、または存在しない場合は `null` です。 -
-

Geckoベースのブラウザーはソースマークアップの中で空白を表現するためにテキストノードをドキュメントに挿入します。ですので、例えば Node.firstChildNode.previousSibling で得られるノードが、作者が取得しようとした実際の要素ではなく、空白のテキストノードを参照していることがあります。

-

より多くの情報を得るには『DOM 中の空白文字』と『W3C DOM 3 FAQ: Why are some Text nodes empty?』を参照してください。

+## 例 -
 
+```html +
こちらは div-1 です。
+
こちらは div-2 です。
+
+計算結果がありません。 +``` -
{{domxref("Element.nextElementSibling")}} は空白ノードを飛ばして次の要素を得るのに使われます。
-
+```js +let el = document.getElementById('div-1').nextSibling, +i = 1; -

+let result = "div-1 の兄弟要素:
"; -
<div id="div-01">Here is div-01</div>
-<div id="div-02">Here is div-02</div>
+while (el) {
+  result += i + '. ' + el.nodeName+"
"; + el = el.nextSibling; + i++; +} -<script type="text/javascript"> -var el = document.getElementById('div-01').nextSibling, - i = 1; +const output = document.getElementsByTagName("output")[0]; +output.innerHTML = result; +``` -console.log('Siblings of div-01:'); +{{ EmbedLiveSample("Example", "100%", 500)}} -while (el) { - console.log(i + '. ' + el.nodeName); - el = el.nextSibling; - i++; -} +## 仕様書 -</script> +{{Specifications}} -/************************************************** - The following is written to the console as it loads: +## ブラウザーの互換性 - Siblings of div-01 +{{Compat}} - 1. #text - 2. DIV - 3. #text - 4. SCRIPT +## 関連情報 -**************************************************/
- -

上の例で、#text ノードがタグ間のマークアップ内に (つまり、 要素の閉じタグと次の開始タグの間) 空白がある DOM に挿入されているのが見られます。 document.write 文で挿入された要素の間には空白が作成されません。

- -

DOM にテキストノードが入りうるのは DOM が nextSibling を使って横断される時に許可されます。注記のセクションのリソースを見てください。

- -

仕様

- - - -

ブラウザ実装状況

- - - -

{{Compat("api.Node.nextSibling")}}

- -

関連情報

- -
    -
  • {{domxref("Element.nextElementSibling")}}
  • -
+- {{domxref("Element.nextElementSibling")}} +- {{domxref("Node.previousSibling")}} diff --git a/files/ja/web/api/node/nodetype/index.md b/files/ja/web/api/node/nodetype/index.md index 135f0f95c7..099e980805 100644 --- a/files/ja/web/api/node/nodetype/index.md +++ b/files/ja/web/api/node/nodetype/index.md @@ -2,87 +2,73 @@ title: Node.nodeType slug: Web/API/Node/nodeType tags: - - DOM - - Gecko - - Gecko DOM Reference + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.nodeType translation_of: Web/API/Node/nodeType --- -
- {{ApiRef}}
-

概要

-

ノードの種類を表す整数のコードを返します。

-

構文

-
var type = node.nodeType;
-
-

type は以下の内の何れかの unsigned short 型の値となります。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称
ELEMENT_NODE1
ATTRIBUTE_NODE {{deprecated_inline}}2
TEXT_NODE3
CDATA_SECTION_NODE {{deprecated_inline}}4
ENTITY_REFERENCE_NODE {{deprecated_inline}}5
ENTITY_NODE {{deprecated_inline}}6
PROCESSING_INSTRUCTION_NODE7
COMMENT_NODE8
DOCUMENT_NODE9
DOCUMENT_TYPE_NODE10
DOCUMENT_FRAGMENT_NODE11
NOTATION_NODE {{deprecated_inline}}12
-

-

次の例は、ノードの最初の要素がコメントノードであるかをチェックし、そうでない場合にメッセージを表示するものです。

-
var node = document.documentElement.firstChild;
-
-if (node.nodeType != Node.COMMENT_NODE)
-  console.log("※社内コーディングルールに沿ったコメントを記述して下さい。");
-
-

仕様書

- +{{APIRef("DOM")}} + +**`nodeType`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティであり、整数値でこのノードがなんであるかを識別します。これは様々なノードの種類、例えば {{domxref("Element", "elements")}}, {{domxref("Text", "text")}}, {{domxref("Comment", "comments")}} を見分けます。 + +## 値 + +整数値で、このノードの種類を識別します。可能な値は次の通りです。 + +- `Node.ELEMENT_NODE` (`1`) + - : {{HTMLElement("p")}} や {{HTMLElement("div")}} などの {{domxref("Element")}} ノードです。 +- `Node.ATTRIBUTE_NODE` (`2`) + - : {{domxref("Element")}} の {{domxref("Attr", "Attribute")}} ノードです。 +- `Node.TEXT_NODE` (`3`) + - : {{domxref("Element")}} や {{domxref("Attr")}} の中に存在する {{domxref("Text")}} です。 +- `Node.CDATA_SECTION_NODE`(`4`) + - : `` のような {{domxref("CDATASection")}} です。 +- `Node.PROCESSING_INSTRUCTION_NODE` (`7`) + - : `` のような XML 文書の {{domxref("ProcessingInstruction")}} です。 +- `Node.COMMENT_NODE` (`8`) + - : `` のような {{domxref("Comment")}} ノードです。 +- `Node.DOCUMENT_NODE` (`9`) + - : {{domxref("Document")}} ノードです。 +- `Node.DOCUMENT_TYPE_NODE` (`10`) + - : `` のような {{domxref("DocumentType")}} ノードです。 +- `Node.DOCUMENT_FRAGMENT_NODE` (`11`) + - : A {{domxref("DocumentFragment")}} node. + +`Node.ENTITY_REFERENCE_NODE` (`5`), `Node.ENTITY_NODE` (`6`), `Node.NOTATION_NODE` (`12`) は非推奨になっており、使用されなくなっています。 + +## 例 + +## 様々な種類のノード + +```js +document.nodeType === Node.DOCUMENT_NODE; // true +document.doctype.nodeType === Node.DOCUMENT_TYPE_NODE; // true + +document.createDocumentFragment().nodeType === Node.DOCUMENT_FRAGMENT_NODE; // true + +const p = document.createElement("p"); +p.textContent = "昔々…"; + +p.nodeType === Node.ELEMENT_NODE; // true +p.firstChild.nodeType === Node.TEXT_NODE; // true +``` + +### コメント + +次の例は、ノードの最初の要素がコメントノードであるかをチェックし、そうでない場合にメッセージを表示するものです。 + +```js +const node = document.documentElement.firstChild; +if (node.nodeType !== Node.COMMENT_NODE) { + console.warn("コメントを入れてください。"); +} +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} diff --git a/files/ja/web/api/node/nodevalue/index.md b/files/ja/web/api/node/nodevalue/index.md index 2cfbbf795f..2d254b0a33 100644 --- a/files/ja/web/api/node/nodevalue/index.md +++ b/files/ja/web/api/node/nodevalue/index.md @@ -2,80 +2,66 @@ title: Node.nodeValue slug: Web/API/Node/nodeValue tags: - - DOM - - Gecko - - Gecko DOM Reference - - Node + - プロパティ + - リファレンス +browser-compat: api.Node.nodeValue translation_of: Web/API/Node/nodeValue --- -
- {{ApiRef}}
-

概要

-

ノードの値を取得または設定します。

-

構文

-
value = node.nodeValue
-

node.nodeValue が存在する場合、 value はノードの値を含む文字列です。

-

注記

-

document 自身は、 nodeValuenullを返します。text

-

ノード、 comment ノード、CDATA ノードでは、 nodeValue はノードの中身を返します。 attribute ノードは属性値を返します。

-

 

-

以下の表は、 様々なノードの戻り値を表しています。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Attrattribute の値
CDATASectionCDATA Sectionの中身
コメントcommentの中身
Documentnull
DocumentFragmentnull
DocumentTypenull
Elementnull
NamedNodeMapnull
EntityReferencenull
Notationnull
ProcessingInstructionターゲットを除く全体の内容
Textthe text nodeの中身
-

nodeValuenull と定義されている場合、値を設定しても効果はありません。

-

仕様書

- +{{APIRef("DOM")}} + +**`nodeValue`** は {{domxref("Node")}} インターフェイスのプロパティで、現在のノードの値を返したり設定したりします。 + +## Value + +もしあれば、現在のノードの値を含む文字列です。 +文書自身においては、 `nodeValue` は `null` を返します。 +テキスト、コメント、 CDATA ノードでは、 `nodeValue` はノードの内容を返します。 +属性ノードにおいては、属性の値が返します。 + +以下の表はノードの種類別の返値を表しています。 + +| ノード | nodeValue の値 | +| ------------------------------------ | ----------------------------------- | +| {{domxref("CDATASection")}} | CDATA セクションの中身 | +| {{domxref("Comment")}} | コメントの中身 | +| {{domxref("Document")}} | `null` | +| {{domxref("DocumentFragment")}} | `null` | +| {{domxref("DocumentType")}} | `null` | +| {{domxref("Element")}} | `null` | +| {{domxref("NamedNodeMap")}} | `null` | +| {{domxref("ProcessingInstruction")}} | 対象を除く内容物全体 | +| {{domxref("Text")}} | テキストノードの中身 | + +> **Note:** `nodeValue` が `null` になると定義されている場合は、設定しても効果がありません。 + +## 例 + +```html +
Hello world
+ +結果が出ていません。 +``` + +また、以下のスクリプトを参照してください。 + +```js +let node = document.getElementsByTagName("body")[0].firstChild; +let result = "
ノード名:
"; +while (node) { + result += node.nodeName + "の値: " + node.nodeValue + "
"; + node = node.nextSibling +} + +const output = document.getElementById("result"); +output.innerHTML = result; +``` + +{{ EmbedLiveSample("Example", "100%", "250")}} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} diff --git a/files/ja/web/api/node/ownerdocument/index.md b/files/ja/web/api/node/ownerdocument/index.md index f6eef4f570..75cf471b02 100644 --- a/files/ja/web/api/node/ownerdocument/index.md +++ b/files/ja/web/api/node/ownerdocument/index.md @@ -2,65 +2,35 @@ title: Node.ownerDocument slug: Web/API/Node/ownerDocument tags: - - DOM - - Gecko - - Node + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.ownerDocument translation_of: Web/API/Node/ownerDocument --- -
{{ApiRef}}
+{{APIRef("DOM")}} -

概要

+**`ownerDocument`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、このノードの最上位の文書オブジェクトを返します。 -

ownerDocument プロパティは、指定ノードを内包するノードツリーのトップレベルのドキュメントオブジェクトを返します。

+## 値 -

構文

+すべての子ノードが作成された最上位の {{domxref("Document")}} オブジェクトです。 -
document = element.ownerDocument
-
+このプロパティが文書自身のノードで使用された場合、値は `null` になります。 -
    -
  • document : 指定要素の祖先である {{domxref("document")}} オブジェクト
  • -
+## 例 -

+```js +// 指定された "p" から、文書オブジェクトの子である最上位の HTML を取得します。 -
var doc = p.ownerDocument; // ノード p のノードツリー上のトップレベル document オブジェクトを取得
-var html = doc.documentElement; // owner のドキュメント要素を取得
+const d = p.ownerDocument;
+const html = d.documentElement;
+```
 
-alert(html); // [object HTMLHtmlElement]
-
+## 仕様書 -

注記

+{{Specifications}} -

このプロパティによって返される document オブジェクトは、実際の HTML 文書中ですべての子ノードの属するメインオブジェクトです。document ノード自身に対しこのプロパティを用いた場合、戻り値は null となります。

+## ブラウザーの互換性 -

仕様

- - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName("DOM4", "#dom-node-ownerdocument", "Node.ownerDocument")}}{{Spec2("DOM4")}} 
{{SpecName("DOM3 Core", "core.html#node-ownerDoc", "Node.ownerDocument")}}{{Spec2("DOM3 Core")}}No change
{{SpecName("DOM2 Core", "core.html#node-ownerDoc", "Node.ownerDocument")}}{{Spec2("DOM2 Core")}}Initial definition
- -

ブラウザ実装状況

- -

{{Compat("api.Node.ownerDocument")}}

+{{Compat}} -- cgit v1.2.3-54-g00ecf From 068058eea2550a1b3da98a3a5af70bc9172d2be2 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 26 Feb 2022 00:16:32 +0900 Subject: 2021/11/08 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/parentelement/index.md | 49 ++++----- files/ja/web/api/node/parentnode/index.md | 80 +++++++-------- files/ja/web/api/node/previoussibling/index.md | 81 ++++++++++----- files/ja/web/api/node/textcontent/index.md | 132 ++++++++++--------------- 4 files changed, 167 insertions(+), 175 deletions(-) diff --git a/files/ja/web/api/node/parentelement/index.md b/files/ja/web/api/node/parentelement/index.md index e121601c07..8aa85b65f5 100644 --- a/files/ja/web/api/node/parentelement/index.md +++ b/files/ja/web/api/node/parentelement/index.md @@ -2,45 +2,36 @@ title: Node.parentElement slug: Web/API/Node/parentElement tags: - - DOM - - Element - - Node - - Property - - parent + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.parentElement translation_of: Web/API/Node/parentElement --- -
-
{{APIRef("DOM")}}
-
+{{APIRef("DOM")}} -

Node.parentElementのread-only プロパティはDOM ノード上の親の {{domxref("Element")}} を返します。親ノードが存在しない場合や親ノードが DOM {{domxref("Element")}} で無い場合、null が返ります。

+**`parentElement`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、この DOM ノードの親である要素 ({{DOMxRef("Element")}}) を返します。このノードに親ノードがないか、親が DOM の {{DOMxRef("Element")}} でない場合は `null` を返します。 -

構文

+## 値 -
parentElement = node.parentElement
+現在のノードの親ノードである {{domxref("Element")}} を返します。そのようなものがない場合は `null` を返します。 -

parentElementは現nodeの親elementです。型は必ずDOM {{domxref("Element")}} オブジェクトかnullです

+## 例 -

+```js +if (node.parentElement) { + node.parentElement.style.color = "red"; +} +``` -
if (node.parentElement) {
-  node.parentElement.style.color = "red";
-}
+## 仕様書 -

仕様

+{{Specifications}} -
    -
  • {{spec("http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#parent-element", "DOM Level 4: Node.parentElement", "WD")}}
  • -
+## ブラウザーの互換性 -

ブラウザ実装状況

+{{Compat}} -

{{Compat("api.Node.parentElement")}}

+## 関連情報 -

一部のブラウザーでは、parentElementプロパティは {{domxref("Element")}} ノードでのみ定義されており、特にテキストノードに対して定義されていない場合がある点に注意して下さい。

- -

関連情報

- -
    -
  • {{domxref("Node.parentNode")}}
  • -
+- {{domxref("Node.parentNode")}} diff --git a/files/ja/web/api/node/parentnode/index.md b/files/ja/web/api/node/parentnode/index.md index 33ea858b0c..d50c111b37 100644 --- a/files/ja/web/api/node/parentnode/index.md +++ b/files/ja/web/api/node/parentnode/index.md @@ -2,46 +2,46 @@ title: Node.parentNode slug: Web/API/Node/parentNode tags: - - DOM - - Gecko - - Gecko DOM Reference - - Node + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.parentNode translation_of: Web/API/Node/parentNode --- -
- {{ApiRef}}
-

概要

-

指定されたノードの DOM ツリー内の親ノードを返します。

-

構文

-
parentNode = node.parentNode
-
-
    -
  • parentNode : 指定ノードの親ノード。要素の親ノードは、Element ノード、Document ノード、または DocumentFragment になります。
  • -
-

-
if (node.parentNode) {
-  // ツリー上に既に存在しない場合を除き、
-  // ツリーからノードを削除します。
+{{APIRef("DOM")}}
+
+**`parentNode`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、 DOM ツリー内の特定のノードの親ノードを返します。
+
+`Document` および `DocumentFragment` [ノード](/ja/docs/Web/API/Node/nodeType)には親が付くことはないので、 `parentNode` は常に `null` になります。
+ノードが生成されてからツリーに割り当てられていない場合も `null` を返します。
+
+## 値
+
+現在のノードの親に当たる {{domxref("Node")}} です。要素の親になるのは `Element` ノード、 `Document` ノード、 `DocumentFragment` ノードの何れかです。
+
+## 例
+
+```js
+if (node.parentNode) {
+  // ノードがツリーの中にある場合は、ツリーから取り除く
   node.parentNode.removeChild(node);
-}
-

注記

-

parentNode は、以下のノードタイプについては null を返します : AttrDocumentDocumentFragmentEntityNotation

-

また、ノードが作成された直後でまだツリーに加えられていない場合も null を返します。

-

ブラウザ実装状況

- -

{{Compat("api.Node.parentNode")}}

- -

仕様書

- -

関連情報

-
    -
  • {{Domxref("element.firstChild")}}
  • -
  • {{Domxref("element.lastChild")}}
  • -
  • {{Domxref("element.childNodes")}}
  • -
  • {{Domxref("element.nextSibling")}}
  • -
  • {{Domxref("element.previousSibling")}}
  • -
  • {{Domxref("Node.removeChild")}}
  • -
+} +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{Domxref("Node.firstChild")}} +- {{Domxref("Node.lastChild")}} +- {{Domxref("Node.childNodes")}} +- {{Domxref("Node.nextSibling")}} +- {{Domxref("Node.parentElement")}} +- {{Domxref("Node.previousSibling")}} +- {{Domxref("Node.removeChild")}} diff --git a/files/ja/web/api/node/previoussibling/index.md b/files/ja/web/api/node/previoussibling/index.md index 5506f5fd86..cec77e3af9 100644 --- a/files/ja/web/api/node/previoussibling/index.md +++ b/files/ja/web/api/node/previoussibling/index.md @@ -2,41 +2,74 @@ title: Node.previousSibling slug: Web/API/Node/previousSibling tags: - - DOM - - Gecko - - Node + - プロパティ + - リファレンス + - 読み取り専用 +browser-compat: api.Node.previousSibling translation_of: Web/API/Node/previousSibling --- -
{{ApiRef}}
+{{APIRef("DOM")}} -

概要

+**`previousSibling`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、指定されたノードの親ノードの {{domxref("Node.childNodes", "childNodes")}} リスト内で、直前にある ノードを返します。指定されたノードがリストの先頭にあった倍は `null` を返します。 -

指定のノードの親ノードの childNodes リストの中で直前のノードを返します。また、指定のノードがそのリストの中で先頭の場合は null を返します。

+> **Note:** ブラウザーはソースのマークアップにあるホワイトスペースを表すために、文書にテキストノードを挿入します。 +> そのため、例えば [`Node.firstChild`](/ja/docs/Web/API/Node/firstChild) や `Node.previousSibling` を使用して得たノードが、取得しようとした実際のノードではなく、ホワイトスペースのテキストノードであることがあります。 +> +> [DOM でのホワイトスペース](/ja/docs/Web/API/Document_Object_Model/Whitespace)の記事に、この動作に関する詳しい情報があります。 +> +> [`previousElementSibling`](/ja/docs/Web/API/Element/previousElementSibling) を使用すると、(テキストノードやその他の要素以外のノードを飛ばして)次の要素を取得することができます。 +> +> 子ノードのリストで反対方向に移動する場合は、 [Node.nextSibling](/ja/docs/Web/API/Node/nextSibling) を使用してください。 -

構文

+## 値 -
previousNode = node.previousSibling;
-
+現在のノードの直前のノードを表す {{domxref("Node")}} です。 +存在しない場合は `null` です。 -

+## 例 -
// <a><b1 id="b1"/><b2 id="b2"/></a>
+次の例では、要素にテキストノードがある場合とない場合の `previousSibling` の動作を示しています。
 
-alert( document.getElementById("b1").previousSibling ); // null
-alert( document.getElementById("b2").previousSibling.id ); // "b1"
-
+### 最初の例 -

注記

+この例では、一連の `img` 要素が互いに隣り合っており、その間にホワイトスペースがありません。 -

Geckoベースのブラウザーはソースマークアップの中で空白を表現するためにテキストノードをドキュメントに挿入します。ですので、例えば Node.firstChildNode.previousSibling で得られるノードが、作者が取得しようとした実際の要素ではなく、空白のテキストノードを参照していることがあります。

-

より多くの情報を得るには『DOM 中の空白文字』と『W3C DOM 3 FAQ: Why are some Text nodes empty?』を参照してください。

+```html + +``` -

childNode リスト内の、指定ノードの次のノードの取得には {{domxref("Node.nextSibling")}} を用います。

+```js +document.getElementById("b1").previousSibling; // +document.getElementById("b2").previousSibling.id; // "b1" +``` -

仕様書

+### 2 番目の例 - +この例では、 `img` 要素の間にホワイトスペースのテキストノード(改行)があります。 + +```html + + + +``` + +```js +document.getElementById("b1").previousSibling; // #text +document.getElementById("b1").previousSibling.previousSibling; // +document.getElementById("b2").previousSibling.previousSibling; // +document.getElementById("b2").previousSibling; // #text +document.getElementById("b2").previousSibling.id; // undefined +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.nextSibling")}} +- {{domxref("Element.previousElementSibling")}} diff --git a/files/ja/web/api/node/textcontent/index.md b/files/ja/web/api/node/textcontent/index.md index 3f90221d9f..1777a5cd21 100644 --- a/files/ja/web/api/node/textcontent/index.md +++ b/files/ja/web/api/node/textcontent/index.md @@ -2,112 +2,80 @@ title: Node.textContent slug: Web/API/Node/textContent tags: - - API - - DOM - - Node - - Property - - Reference - プロパティ + - リファレンス +browser-compat: api.Node.textContent translation_of: Web/API/Node/textContent --- -
{{APIRef("DOM")}}
+{{APIRef("DOM")}} -

textContent は {{domxref ("Node")}} のプロパティで、ノードおよびその子孫のテキストの内容を表します。

+**`textContent`** は {{domxref ("Node")}} のプロパティで、ノードおよびその子孫のテキストの内容を表します。 -
-

メモ: textContent と {{domxref("HTMLElement.innerText")}} は混同しやすいものですが、2つのプロパティは重要な点が異なります

-
+> **Note:** `textContent` と {{domxref("HTMLElement.innerText")}} は混同しやすいものですが、 2 つのプロパティは[重要な点が異なります](#innertext_との違い)。 -

構文

+## 値 -
let text = someNode.textContent
-someOtherNode.textContent = string
-
+文字列または {{jsxref("null")}} です。値は場面によります。 -

+- ノードが {{domxref("document")}} または {{glossary("doctype")}} である場合、 `textContent` は {{jsxref("null")}} を返します。 -

文字列または {{jsxref("null")}}

+ > **Note:** 文書全体の*すべての*テキストと [CDATA データ](/ja/docs/Web/API/CDATASection)を取得するには、 `document.documentElement.textContent` を使用する方法があります。 -

説明

+- ノードが [CDATA セクション](/ja/docs/Web/API/CDATASection)、コメント、[処理命令ノード](/ja/docs/Web/API/ProcessingInstruction)、 [テキストノード](/ja/docs/Web/API/Text)の場合、 `textContent` はそのノードの内側のテキスト、すなわち {{domxref("Node.nodeValue")}} を返します。 +- 他のノード型の場合、`textContent` は、コメントと処理命令ノードを除く、すべての子ノードの `textContent` 属性値を連結したものを返します。(ノードが子を持たない場合、これは空文字列になります。) -

textContent の値は状況によります。

+> **Warning:** ノードの `textContent` を設定すると、そのノードの*すべて*の子が取り除かれて、指定された値を持つ単一のテキストノードに置き換わります。 -
    -
  • ノードが {{domxref("document")}} または {{glossary("Doctype")}} である場合、 textContent は {{jsxref("null")}} を返します。 +### innerText との違い -
    メモ: 文書全体のすべてのテキストと CDATA データを取得するには、 document.documentElement.textContent を使用する方法があります。
    -
  • -
  • ノードが CDATA セクション、コメント、処理命令ノードテキストノードの場合、 textContent はそのノードの内側のテキスト、すなわち {{domxref("Node.nodeValue")}} を返します。
  • -
  • 他のノードタイプの場合、textContent は、コメントと処理命令ノードを除く、すべての子ノードの textContent 属性値を連結したものを返します。 (ノードが子を持たない場合、これは空文字列になります。)
  • -
+`Node.textContent` と {{domxref("HTMLElement.innerText")}} の間の違いに混乱しないでください。名前は似ているようですが、重要な違いがあります。 -

ノードの textContent を設定すると、そのノードのすべての子が取り除かれて、指定された値をもつ単一のテキストノードに置き換わります。

+- `textContent` は、 {{HTMLElement("script")}} と {{HTMLElement("style")}} 要素を含む、*すべて*の要素の中身を取得します。一方、 `innerText` は「人間が読める」要素のみを示します。 +- `textContent` はノード内のすべての要素を返します。一方、 `innerText` はスタイルを反映し、「非表示」の要素のテキストは返しません。 -

innerText との違い

+ - もっと言えば、 `innerText` は CSS のスタイルを考慮するので、 `innerText` の値を読み取ると最新の計算されたスタイルを保証するために {{glossary("Reflow", "再フロー")}} を起動します。 (再フローは計算が重いので、可能であれば避けるべきです。) -

Node.textContent と {{domxref("HTMLElement.innerText")}} の間の違いに混乱しないでください。名前は似ているようですが、重要な違いがあります。

+- `textContent` とは異なり、 `innerText` を Internet Explorer (バージョン 11 まで) で変更すると、要素から子ノードを削除するだけでなく、子孫のテキストノードを*完全に破棄します*。他の要素または同じ要素にノードをもう一度挿入することは不可能です。 -
    -
  • textContent は、 {{HTMLElement("script")}} と {{HTMLElement("style")}} 要素を含む、すべての要素の内容を取得します。一方、 innerText は「人間が読める」要素のみを示します。
  • -
  • textContent はノード内のすべての要素を返します。一方、 innerText はスタイルを反映し、「非表示」の要素のテキストを返しません。 -
      -
    • もっと言えば、 innerText は CSS のスタイルを考慮するので、 innerText の値を読み取ると最新の計算されたスタイルを保証するために {{glossary("Reflow", "再フロー")}} を起動します。 (再フローは計算が重いので、可能であれば避けるべきです。)
    • -
    -
  • -
  • textContent とは異なり、 innerText を Internet Explorer (バージョン 11 まで) で変更すると、要素から子ノードを削除するだけでなく、子孫のテキストノードを完全に破棄します。他の要素または同じ要素にノードをもう一度挿入することは不可能です。
  • -
+### innerHTML との違い -

innerHTML との違い

+{{domxref("Element.innerHTML")}} は、その名が示すとおり HTML を返します。時に、 `innerHTML` を使用して要素内のテキストを受け取ったり書き込んだりすることがありますが、 `textContent` は値が HTML として解析されないので性能が良くなります。 -

{{domxref("Element.innerHTML")}} は、その名が示すとおり HTML を返します。時に、 innerHTML を使用して要素内のテキストを受け取ったり書き込んだりすることがありますが、 textContent は値が HTML として解析されないので性能が良くなります。

+さらに、`textContent` を使用することで {{glossary("Cross-site_scripting", "XSS 攻撃")}}を防ぐことができます。 -

さらに、textContent を使用することで {{glossary("Cross-site_scripting", "XSS 攻撃")}}を防ぐことができます。

+## 例 -

+以下のような HTML の断片があります。 -

以下のような HTML の断片があります。

+```html +
This is some text!
+``` -
<div id="divA">This is <span>some</span> text!</div>
+... `textContent` を使用して、要素のテキストの内容を取得することができます。 -

... textContent を使用して、要素のテキストの内容を取得することができます。

+```js +let text = document.getElementById('divA').textContent; +// 変数 text の値は 'This is some text!' となります。 +``` -
let text = document.getElementById('divA').textContent;
-// 変数 text の値は 'This is some text!' となります。
+... また、要素のテキストを設定します。 -

... また、要素のテキストを設定します。

- -
document.getElementById('divA').textContent = 'This text is different!';
+```js
+document.getElementById('divA').textContent = 'This text is different!';
 // divA の HTML は次のようになります。
-// <div id="divA">This text is different!</div>
-
- -

仕様書

- - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName('DOM WHATWG','#dom-node-textcontent','Node.textContent')}}{{Spec2('DOM WHATWG')}}
- -

ブラウザーの互換性

- -

{{Compat("api.Node.textContent")}}

- -

関連情報

- - +//
This text is different!
+``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("HTMLElement.innerText")}} +- {{domxref("Element.innerHTML")}} +- [More on differences between `innerText` and `textContent`](http://perfectionkills.com/the-poor-misunderstood-innerText/) (ブログ投稿) -- cgit v1.2.3-54-g00ecf From ed80f378403bc2760e37b274c78e6629836d36f8 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 12:26:02 +0900 Subject: 2021/11/08 時点の英語版に基づき新規翻訳 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/baseuri/index.md | 67 ++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 files/ja/web/api/node/baseuri/index.md diff --git a/files/ja/web/api/node/baseuri/index.md b/files/ja/web/api/node/baseuri/index.md new file mode 100644 index 0000000000..053fadb866 --- /dev/null +++ b/files/ja/web/api/node/baseuri/index.md @@ -0,0 +1,67 @@ +--- +title: Node.baseURI +slug: Web/API/Node/baseURI +tags: + - Node + - プロパティ + - 読み取り専用 +browser-compat: api.Node.baseURI +translation_of: Web/API/Node/baseURI +--- +{{APIRef("DOM")}} + +**`baseURI`** は {{domxref("Node")}} インターフェイスの読み取り専用プロパティで、このノードを含む文書の絶対的なベース URL を返します。 + +ベース URL はブラウザーが絶対 URL を必要とするときに、相対 URL を解決するために使用されます。例えば、 HTML の {{HTMLElement("img")}} 要素の `src` 属性や、 SVG の `xlink:href` や `href` 属性を処理する場合などです。 + +このプロパティは読み取り専用ですが、値はプロパティがアクセスされるたびにアルゴリズムで決まりますので、状況が変化すると変化することがあります。 + +ベース URL は次のように決まります。 + +1. 既定で、ベース URL は文書の位置({{domxref("window.location")}} で指定された通り)となります。 +2. これが HTML 文書であり、文書に {{HTMLElement("Base")}} 要素があった場合、*最初の* `Base` 要素の `href` の値があれば、代わりに使用されます。 + +## 値 + +{{domxref("Node")}} のベース URL を表す文字列です。 + +## 例 + +### \ なし + +```html +Not calculated +``` + +```js +const output = document.getElementsByTagName("output")[0]; +output.value = output.baseURI; +``` + +{{EmbedLiveSample("Without ", "100%", 40)}} + +### \ あり + +```html + +Not calculated +``` + +```js +const output = document.getElementsByTagName("output")[0]; +output.value = output.baseURI; +``` + +{{EmbedLiveSample("With ", "100%", 40)}} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{HTMLElement("base")}} 要素 -- cgit v1.2.3-54-g00ecf From 1107252040025dbb122a68dd75f0dd285e4c40d5 Mon Sep 17 00:00:00 2001 From: Julien Wilhelm <49813904+AwebsomeFr@users.noreply.github.com> Date: Sat, 5 Mar 2022 16:51:20 +0100 Subject: Typo fixes for French DOMContentLoaded event page (#4419) Spell Checking. --- files/fr/web/api/document/domcontentloaded_event/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/files/fr/web/api/document/domcontentloaded_event/index.md b/files/fr/web/api/document/domcontentloaded_event/index.md index 92c383e65d..787f2a1d16 100644 --- a/files/fr/web/api/document/domcontentloaded_event/index.md +++ b/files/fr/web/api/document/domcontentloaded_event/index.md @@ -5,7 +5,7 @@ translation_of: Web/API/Document/DOMContentLoaded_event --- {{APIRef}} -L'évènement **`DOMContentLoaded`** est déclenché quand le document HTML initiale est complètement chargé et analysé, sans attendre la fin du chargement des feuilles de styles, images et sous-document. +L'évènement **`DOMContentLoaded`** est déclenché quand le document HTML initial est complètement chargé et analysé, sans attendre la fin du chargement des feuilles de styles, images et sous-document. @@ -28,9 +28,9 @@ L'évènement **`DOMContentLoaded`** est déclenché quand le document HTML init
-Un évènement différent, {{domxref("Window/load_event", "load")}} doit être utilisé pour détecter que la page entière est chargée. On utilise couramment à tord `load` là où `DOMContentLoaded` serait plus approprié. +Un évènement différent, {{domxref("Window/load_event", "load")}} doit être utilisé pour détecter que la page entière est chargée. On utilise couramment à tort `load` là où `DOMContentLoaded` serait plus approprié. -Du code JavaScript synchrone va mettre en pause la création du DOM. Si vous voulez charger le DOM le plus rapidement possible, vous pouvez faire votre code [(en) JavaScript asynchrone](/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests) et [(en) optimiser le chargement des feuilles de styles](https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery). Si vous chargez comme d'habitude, les feuilles de styles vont ralentir la création du DOM comme si elles étaient chargées en parallèle, en «volant» le trafique du document principale HTML. +Du code JavaScript synchrone va mettre en pause la création du DOM. Si vous voulez charger le DOM le plus rapidement possible, vous pouvez faire votre code [(en) JavaScript asynchrone](/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests) et [(en) optimiser le chargement des feuilles de styles](https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery). Si vous chargez comme d'habitude, les feuilles de styles vont ralentir la création du DOM comme si elles étaient chargées en parallèle, en «volant» le trafic du document principal HTML. ## Exemples -- cgit v1.2.3-54-g00ecf From ae31d37aef1b9cf3b307651166f1cb0c02d1eaf7 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Sat, 5 Mar 2022 18:20:13 +0000 Subject: fr-web/api/htmlmediaelement/mscleareffects id:4289 (#4406) * suggest translation for id:4289 * Fixing typo and translation Fixing typo and translation according to @cw118 review --- .../api/htmlmediaelement/mscleareffects/index.md | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 files/fr/web/api/htmlmediaelement/mscleareffects/index.md diff --git a/files/fr/web/api/htmlmediaelement/mscleareffects/index.md b/files/fr/web/api/htmlmediaelement/mscleareffects/index.md new file mode 100644 index 0000000000..3ccc0ff537 --- /dev/null +++ b/files/fr/web/api/htmlmediaelement/mscleareffects/index.md @@ -0,0 +1,31 @@ +--- +title: HTMLMediaElement.msClearEffects +slug: Web/API/HTMLMediaElement/msClearEffects +translation_of: Web/API/HTMLMediaElement/msClearEffects +--- +{{APIRef("HTMLMediaElement")}} + +{{Non-standard_header()}} + +La méthode **`msClearEffects`** de l'interface [`HTMLMediaElement`](/fr/docs/Web/API/HTMLMediaElement) est une méthode propriétaire spécifique à Internet Explorer et Microsoft Edge. + +**`msClearEffects`** efface tous les effets du canal de rendu. + +### Syntaxe + +```js +HTMLMediaElement.msClearEffects(); +``` + +### Paramètres + +Cette méthode ne prend pas de paramètres. + +### Valeur retournée + +Cette méthode ne retourne pas de valeur. + +## Voir aussi + +- [L'API Touch](/fr/docs/Web/API/Touch) +- [Extensions d'API Microsoft](/fr/docs/Web/API/Microsoft_Extensions) -- cgit v1.2.3-54-g00ecf From 9a01a5446e5c02cb66cb0c4423daf4a3a50f6453 Mon Sep 17 00:00:00 2001 From: Niedziolka Michal <100634371+NiedziolkaMichal@users.noreply.github.com> Date: Sat, 5 Mar 2022 22:44:53 +0100 Subject: Fix for vertical-align examples in Dark Mode (#4401) * Fix for vertical-align examples in Dark Mode * Removed empty parameter Co-authored-by: Claas Augner * Removed empty parameter Co-authored-by: Claas Augner * Fix for other locale * Revert "Fix for other locale" This reverts commit 2e7b836b3a4fbbbe4d0150e14e4e55f4f75f9c04. * Fixed for other locale, without idea files * Removed invalid quote * Changed 100% to 1200px * Removed quotes Co-authored-by: Claas Augner --- files/de/web/css/vertical-align/index.html | 4 ++-- files/ja/web/css/vertical-align/index.md | 4 ++-- files/ko/web/css/vertical-align/index.html | 4 ++-- files/pt-br/web/css/vertical-align/index.html | 4 ++-- files/ru/web/css/vertical-align/index.html | 4 ++-- files/zh-cn/web/css/vertical-align/index.html | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/files/de/web/css/vertical-align/index.html b/files/de/web/css/vertical-align/index.html index 43d76f8a1d..dc247353c5 100644 --- a/files/de/web/css/vertical-align/index.html +++ b/files/de/web/css/vertical-align/index.html @@ -61,7 +61,7 @@ p { -

{{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}

+

{{EmbedLiveSample("vertical-align-inline", 1200, 160)}}

  • Um den Inhalt einer Zelle vertikal in einer Tabelle auszurichten:
  • @@ -100,7 +100,7 @@ td { -

    {{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}

    +

    {{EmbedLiveSample("vertical-align-table", 1200, 230)}}

    Beachte, dass sich vertical-align nur auf inline- und Tabellenzellenelemente bezieht: es kann nicht eingesetzt werden um Block-level Elemente auszurichten.

    diff --git a/files/ja/web/css/vertical-align/index.md b/files/ja/web/css/vertical-align/index.md index 5ae9631f82..4f69ef7e47 100644 --- a/files/ja/web/css/vertical-align/index.md +++ b/files/ja/web/css/vertical-align/index.md @@ -174,7 +174,7 @@ p { #### 結果 -{{EmbedLiveSample("Vertical_alignment_in_a_line_box", '100%', 160, "", "")}} +{{EmbedLiveSample("Vertical_alignment_in_a_line_box", 1200, 160)}}

    表のセル内での垂直方向の配置

    @@ -218,7 +218,7 @@ td { #### 結果 -{{EmbedLiveSample("Vertical_alignment_in_a_table_cell", '100%', 230, "", "")}} +{{EmbedLiveSample("Vertical_alignment_in_a_table_cell", 1200, 230)}} ## 仕様書 diff --git a/files/ko/web/css/vertical-align/index.html b/files/ko/web/css/vertical-align/index.html index 0a139fbc61..92475d81e3 100644 --- a/files/ko/web/css/vertical-align/index.html +++ b/files/ko/web/css/vertical-align/index.html @@ -79,7 +79,7 @@ p { -

    {{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}

    +

    {{EmbedLiveSample("vertical-align-inline", 1200, 160)}}

    • table의 한 셀에서 포함하고 있는 내용을 수직 정렬할 때:
    • @@ -118,7 +118,7 @@ td { -

      {{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}

      +

      {{EmbedLiveSample("vertical-align-table", 1200, 230)}}

      vertical-align은 오로지 inline과 table-cell 엘리먼트에만 적용된다는 것에 주의하세요: 이 속성을 block level 엘리먼트에 사용할 수 없습니다.

      diff --git a/files/pt-br/web/css/vertical-align/index.html b/files/pt-br/web/css/vertical-align/index.html index 5461771c73..623c7deb34 100644 --- a/files/pt-br/web/css/vertical-align/index.html +++ b/files/pt-br/web/css/vertical-align/index.html @@ -79,7 +79,7 @@ p { -

      {{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}

      +

      {{EmbedLiveSample("vertical-align-inline", 1200, 160)}}

      • Para alinhar verticalmente o conteudo de uma celula em uma tabela:
      • @@ -118,7 +118,7 @@ td { -

        {{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}

        +

        {{EmbedLiveSample("vertical-align-table", 1200, 230)}}

        Observe que  vertical-align é aplicado apenas em elementos inline e table-cell: Você não pode usar isso para alinhar verticalmente elementos de nível de bloco.

        diff --git a/files/ru/web/css/vertical-align/index.html b/files/ru/web/css/vertical-align/index.html index 9074a6000f..99f06f3732 100644 --- a/files/ru/web/css/vertical-align/index.html +++ b/files/ru/web/css/vertical-align/index.html @@ -75,7 +75,7 @@ p { -

        {{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}

        +

        {{EmbedLiveSample("vertical-align-inline", 1200, 160)}}

        • Для вертикального позиционирования содержимого ячейки таблицы:
        • @@ -109,7 +109,7 @@ td { -

          {{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}

          +

          {{EmbedLiveSample("vertical-align-table", 1200, 230)}}

          Обратите внимание: свойство vertical-align применяется только к строчным элементам и элементам ячеек таблицы: его нельзя использовать для вертикального позиционирования блочных элементов.

          diff --git a/files/zh-cn/web/css/vertical-align/index.html b/files/zh-cn/web/css/vertical-align/index.html index 3c55e414be..14acdecb59 100644 --- a/files/zh-cn/web/css/vertical-align/index.html +++ b/files/zh-cn/web/css/vertical-align/index.html @@ -60,7 +60,7 @@ p {
          -

          {{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}

          +

          {{EmbedLiveSample("vertical-align-inline", 1200, 160)}}

          • 垂直对齐表格单元内容:
          • @@ -99,7 +99,7 @@ td { -

            {{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}

            +

            {{EmbedLiveSample("vertical-align-table", 1200, 230)}}

            注意 vertical-align 只对行内元素、行内块元素和表格单元格元素生效:不能用它垂直对齐块级元素

            -- cgit v1.2.3-54-g00ecf From 8e8d92a50f74b5370984259dc963dac56cc5902b Mon Sep 17 00:00:00 2001 From: MDN Date: Sun, 6 Mar 2022 00:13:06 +0000 Subject: [CRON] sync translated content --- files/ja/_redirects.txt | 5 +- files/ja/_wikihistory.json | 20 ++-- .../web/api/navigator/online/index.html | 127 +++++++++++++++++++++ .../navigator/online_and_offline_events/index.html | 127 --------------------- files/ko/_redirects.txt | 5 +- files/ko/web/api/navigator/online/index.html | 108 ++++++++++++++++++ .../navigator/online_and_offline_events/index.html | 107 ----------------- 7 files changed, 251 insertions(+), 248 deletions(-) create mode 100644 files/ja/conflicting/web/api/navigator/online/index.html delete mode 100644 files/ja/web/api/navigator/online_and_offline_events/index.html create mode 100644 files/ko/web/api/navigator/online/index.html delete mode 100644 files/ko/web/api/navigator/online_and_offline_events/index.html diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt index 98461ee39d..82f79f7a60 100644 --- a/files/ja/_redirects.txt +++ b/files/ja/_redirects.txt @@ -2811,7 +2811,7 @@ /ja/docs/Notification_object/tag /ja/docs/Web/API/Notification/tag /ja/docs/Notification_object/title /ja/docs/Web/API/Notification/title /ja/docs/Offline_resources_in_Firefox/Using_audio_and_video_in_Firefox /ja/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content -/ja/docs/Online_and_offline_events /ja/docs/Web/API/Navigator/Online_and_offline_events +/ja/docs/Online_and_offline_events /ja/docs/conflicting/Web/API/Navigator/onLine /ja/docs/Other_JavaScript_tools /ja/docs/Tools /ja/docs/Parsing_and_serializing_XML /ja/docs/Web/Guide/Parsing_and_serializing_XML /ja/docs/Plugins/Guide/Constants /ja/docs/Glossary/Plugin @@ -3182,6 +3182,7 @@ /ja/docs/Web/API/MediaStreamConstraints /ja/docs/conflicting/Web/API/MediaDevices/getUserMedia /ja/docs/Web/API/MouseEvent/which /ja/docs/Web/API/UIEvent/which /ja/docs/Web/API/Navigator.getUserMedia /ja/docs/Web/API/Navigator/getUserMedia +/ja/docs/Web/API/Navigator/Online_and_offline_events /ja/docs/conflicting/Web/API/Navigator/onLine /ja/docs/Web/API/NavigatorID /ja/docs/Web/API/Navigator /ja/docs/Web/API/NavigatorID/appCodeName /ja/docs/Web/API/Navigator/appCodeName /ja/docs/Web/API/NavigatorID/appName /ja/docs/Web/API/Navigator/appName @@ -3193,7 +3194,7 @@ /ja/docs/Web/API/NavigatorLanguage.languages /ja/docs/Web/API/Navigator/languages /ja/docs/Web/API/NavigatorLanguage/language /ja/docs/Web/API/Navigator/language /ja/docs/Web/API/NavigatorLanguage/languages /ja/docs/Web/API/Navigator/languages -/ja/docs/Web/API/NavigatorOnLine/Online_and_offline_events /ja/docs/Web/API/Navigator/Online_and_offline_events +/ja/docs/Web/API/NavigatorOnLine/Online_and_offline_events /ja/docs/conflicting/Web/API/Navigator/onLine /ja/docs/Web/API/NavigatorOnLine/onLine /ja/docs/Web/API/Navigator/onLine /ja/docs/Web/API/NavigatorStorage /ja/docs/orphaned/Web/API/NavigatorStorage /ja/docs/Web/API/NavigatorStorage/storage /ja/docs/orphaned/Web/API/NavigatorStorage/storage diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json index eab8b35361..acf6f16c9e 100644 --- a/files/ja/_wikihistory.json +++ b/files/ja/_wikihistory.json @@ -18689,16 +18689,6 @@ "fscholz" ] }, - "Web/API/Navigator/Online_and_offline_events": { - "modified": "2019-03-23T23:53:08.504Z", - "contributors": [ - "chrisdavidmills", - "ethertank", - "Marsf", - "Mgjbot", - "Koyamak" - ] - }, "Web/API/Navigator/activeVRDisplays": { "modified": "2020-10-15T21:47:31.877Z", "contributors": [ @@ -48425,6 +48415,16 @@ "e53e04ac" ] }, + "conflicting/Web/API/Navigator/onLine": { + "modified": "2019-03-23T23:53:08.504Z", + "contributors": [ + "chrisdavidmills", + "ethertank", + "Marsf", + "Mgjbot", + "Koyamak" + ] + }, "conflicting/Web/API/Pointer_events": { "modified": "2019-03-18T20:45:32.564Z", "contributors": [ diff --git a/files/ja/conflicting/web/api/navigator/online/index.html b/files/ja/conflicting/web/api/navigator/online/index.html new file mode 100644 index 0000000000..e30c9d6c63 --- /dev/null +++ b/files/ja/conflicting/web/api/navigator/online/index.html @@ -0,0 +1,127 @@ +--- +title: オンライン・オフラインイベント +slug: conflicting/Web/API/Navigator/onLine +tags: + - AJAX + - DOM + - HTML5 + - Intermediate + - NeedsUpdate + - Offline web applications + - Web Development +translation_of: Web/API/Navigator/Online_and_offline_events +original_slug: Web/API/Navigator/Online_and_offline_events +--- +

            一部のブラウザーは、 Online/Offline イベントWHATWG Web Applications 1.0 仕様書に従って実装しています。

            + +

            概要

            + +

            オフラインに対応した良いウェブアプリケーションを構築するためには、アプリケーションが実際にオフラインになったタイミングを知る必要があります。また、アプリケーションが「オンライン」の状態に復帰したタイミングも知る必要があります。要件を分解すると次のようになります。

            + +
              +
            1. サーバーとの再同期ができるように、ユーザーがオンラインに戻ったタイミングを知る必要があります。
            2. +
            3. サーバーへのリクエストを後回しにすることができるように、ユーザーがオフラインなったタイミングを知る必要があります。
            4. +
            + +

            オンライン/オフラインイベントがこのプロセスを一般化するのに役立ちます。

            + +

            残念ながら、これらのイベントは完全には信頼できません。より高い信頼性が必要な場合や、 API がブラウザーに実装されていない場合は、サービスワーカーを使用したり XMLHttpRequest からのレスポンスを使用するなど、他の兆候を利用してオフラインであるかどうかを検出することができます。

            + +

            API

            + + + +

            navigator.onLine は、 true/false の値を保持しているプロパティです (オンラインの場合は true、オフラインの場合は false)。

            + +

            このプロパティは、ユーザーが「オフラインモード」に切り替えたとき (Firefox の場合は、ファイル→オフライン作業) に更新されます。さらに、このプロパティは、ブラウザーがネットワークに接続できなくなったときに更新されます。仕様書によれば、次のようになっています。

            + +
            + navigator.onLine 属性はユーザーがリンクを辿ったり、スクリプトが外部のページをリクエストしたりしたときにユーザーエージェントがネットワークで通信できない場合 (またはそのような試みが失敗した場合) は、必ず false を返す必要があります。
            + +

            Firefox 2 はこのプロパティをブラウザーのオフラインモードが切り替わる度に更新します。 Firefox 41 は、 Windows、 Linux、 OS X においてネットワークの接続状態が変化したときにも更新します。

            + +

            このプロパティは Firefox と Internet Explorer の古いバージョンにも存在しました。 (この仕様はこれらの先行的な実装に基づいています)。従って、今すぐこのプロパティを使い始めることができます。ネットワーク状態の自動判断は Firefox 2 にて実装されました。

            + +

            "online" および "offline" イベント

            + +

            Firefox 3 は 2 つの新しいイベントを導入しました。"online" and "offline" です。これらの 2 つのイベントは、ブラウザーのオンラインおよびオフラインモードが切り替わるたびに、各ページの <body> に発行されます。加えて、このイベントは document.body から document へとバブリングし、 window までたどり着きます。これらのイベントはキャンセルできません (ユーザーのオンラインモードやオフラインモードへの移行を防ぐことはできません)。

            + +

            Firefox 41 では、 Windows, Linux, OS X においてネットワークの接続状態が変化したことを OS が通知したときに、これらのイベントが発行されます。

            + +

            これらのイベントに対するリスナーは、いくつかのお馴染みの方法で登録することができます。

            +
              +
            • addEventListener を、 window, document, document.body に対して使用します。
            • +
            • document または document.body.ononline または .onoffline プロパティを JavaScript の Function オブジェクトに設定します。(注意: window.ononline または window.onoffline は互換性の理由で動作しません)
            • +
            • HTML マークアップで <body> タグの ononline="..." または onoffline="..." 属性を指定します。
            • +
            + +

            + +

            イベントが機能しているかどうかを確認するために、簡単なテストケースを用意しました (イベントリスナーを document.body に代入しているため、 Chrome では動作しません)。

            + +

            こちらが JavaScript 部分です。

            + +
            window.addEventListener('load', function() {
            +  var status = document.getElementById("status");
            +  var log = document.getElementById("log");
            +
            +  function updateOnlineStatus(event) {
            +    var condition = navigator.onLine ? "online" : "offline";
            +
            +    status.className = condition;
            +    status.innerHTML = condition.toUpperCase();
            +
            +    log.insertAdjacentHTML("beforeend", "Event: " + event.type + "; Status: " + condition);
            +  }
            +
            +  window.addEventListener('online',  updateOnlineStatus);
            +  window.addEventListener('offline', updateOnlineStatus);
            +});
            + +

            CSS 部分です。

            + +
            #status {
            +  position: fixed;
            +  width: 100%;
            +  font: bold 1em sans-serif;
            +  color: #FFF;
            +  padding: 0.5em;
            +}
            +
            +#log {
            +  padding: 2.5em 0.5em 0.5em;
            +  font: 1em sans-serif;
            +}
            +
            +.online {
            +  background: green;
            +}
            +
            +.offline {
            +  background: red;
            +}
            +
            + +

            対応する HTML です。 XXX When mochitests for this are created, point to those instead and update this example -nickolay

            + +
            <div id="status"></div>
            +<div id="log"></div>
            +<p>This is a test</p>
            +
            + +

            実行例はこちらです。

            + +

            {{ EmbedLiveSample('Example', '100%', '150') }}

            + +

            + +

            この API がブラウザに実装されていない場合は、サービスワーカーや XMLHttpRequest からのレスポンスを使用するなど、他の兆候を使用してオフラインであるかどうかを検出することができます。

            + +

            参考文献

            + + diff --git a/files/ja/web/api/navigator/online_and_offline_events/index.html b/files/ja/web/api/navigator/online_and_offline_events/index.html deleted file mode 100644 index 15fc35b7c8..0000000000 --- a/files/ja/web/api/navigator/online_and_offline_events/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: オンライン・オフラインイベント -slug: Web/API/Navigator/Online_and_offline_events -tags: - - AJAX - - DOM - - HTML5 - - Intermediate - - NeedsUpdate - - Offline web applications - - Web Development -translation_of: Web/API/Navigator/Online_and_offline_events -original_slug: Web/API/NavigatorOnLine/Online_and_offline_events ---- -

            一部のブラウザーは、 Online/Offline イベントWHATWG Web Applications 1.0 仕様書に従って実装しています。

            - -

            概要

            - -

            オフラインに対応した良いウェブアプリケーションを構築するためには、アプリケーションが実際にオフラインになったタイミングを知る必要があります。また、アプリケーションが「オンライン」の状態に復帰したタイミングも知る必要があります。要件を分解すると次のようになります。

            - -
              -
            1. サーバーとの再同期ができるように、ユーザーがオンラインに戻ったタイミングを知る必要があります。
            2. -
            3. サーバーへのリクエストを後回しにすることができるように、ユーザーがオフラインなったタイミングを知る必要があります。
            4. -
            - -

            オンライン/オフラインイベントがこのプロセスを一般化するのに役立ちます。

            - -

            残念ながら、これらのイベントは完全には信頼できません。より高い信頼性が必要な場合や、 API がブラウザーに実装されていない場合は、サービスワーカーを使用したり XMLHttpRequest からのレスポンスを使用するなど、他の兆候を利用してオフラインであるかどうかを検出することができます。

            - -

            API

            - - - -

            navigator.onLine は、 true/false の値を保持しているプロパティです (オンラインの場合は true、オフラインの場合は false)。

            - -

            このプロパティは、ユーザーが「オフラインモード」に切り替えたとき (Firefox の場合は、ファイル→オフライン作業) に更新されます。さらに、このプロパティは、ブラウザーがネットワークに接続できなくなったときに更新されます。仕様書によれば、次のようになっています。

            - -
            - navigator.onLine 属性はユーザーがリンクを辿ったり、スクリプトが外部のページをリクエストしたりしたときにユーザーエージェントがネットワークで通信できない場合 (またはそのような試みが失敗した場合) は、必ず false を返す必要があります。
            - -

            Firefox 2 はこのプロパティをブラウザーのオフラインモードが切り替わる度に更新します。 Firefox 41 は、 Windows、 Linux、 OS X においてネットワークの接続状態が変化したときにも更新します。

            - -

            このプロパティは Firefox と Internet Explorer の古いバージョンにも存在しました。 (この仕様はこれらの先行的な実装に基づいています)。従って、今すぐこのプロパティを使い始めることができます。ネットワーク状態の自動判断は Firefox 2 にて実装されました。

            - -

            "online" および "offline" イベント

            - -

            Firefox 3 は 2 つの新しいイベントを導入しました。"online" and "offline" です。これらの 2 つのイベントは、ブラウザーのオンラインおよびオフラインモードが切り替わるたびに、各ページの <body> に発行されます。加えて、このイベントは document.body から document へとバブリングし、 window までたどり着きます。これらのイベントはキャンセルできません (ユーザーのオンラインモードやオフラインモードへの移行を防ぐことはできません)。

            - -

            Firefox 41 では、 Windows, Linux, OS X においてネットワークの接続状態が変化したことを OS が通知したときに、これらのイベントが発行されます。

            - -

            これらのイベントに対するリスナーは、いくつかのお馴染みの方法で登録することができます。

            -
              -
            • addEventListener を、 window, document, document.body に対して使用します。
            • -
            • document または document.body.ononline または .onoffline プロパティを JavaScript の Function オブジェクトに設定します。(注意: window.ononline または window.onoffline は互換性の理由で動作しません)
            • -
            • HTML マークアップで <body> タグの ononline="..." または onoffline="..." 属性を指定します。
            • -
            - -

            - -

            イベントが機能しているかどうかを確認するために、簡単なテストケースを用意しました (イベントリスナーを document.body に代入しているため、 Chrome では動作しません)。

            - -

            こちらが JavaScript 部分です。

            - -
            window.addEventListener('load', function() {
            -  var status = document.getElementById("status");
            -  var log = document.getElementById("log");
            -
            -  function updateOnlineStatus(event) {
            -    var condition = navigator.onLine ? "online" : "offline";
            -
            -    status.className = condition;
            -    status.innerHTML = condition.toUpperCase();
            -
            -    log.insertAdjacentHTML("beforeend", "Event: " + event.type + "; Status: " + condition);
            -  }
            -
            -  window.addEventListener('online',  updateOnlineStatus);
            -  window.addEventListener('offline', updateOnlineStatus);
            -});
            - -

            CSS 部分です。

            - -
            #status {
            -  position: fixed;
            -  width: 100%;
            -  font: bold 1em sans-serif;
            -  color: #FFF;
            -  padding: 0.5em;
            -}
            -
            -#log {
            -  padding: 2.5em 0.5em 0.5em;
            -  font: 1em sans-serif;
            -}
            -
            -.online {
            -  background: green;
            -}
            -
            -.offline {
            -  background: red;
            -}
            -
            - -

            対応する HTML です。 XXX When mochitests for this are created, point to those instead and update this example -nickolay

            - -
            <div id="status"></div>
            -<div id="log"></div>
            -<p>This is a test</p>
            -
            - -

            実行例はこちらです。

            - -

            {{ EmbedLiveSample('Example', '100%', '150') }}

            - -

            - -

            この API がブラウザに実装されていない場合は、サービスワーカーや XMLHttpRequest からのレスポンスを使用するなど、他の兆候を使用してオフラインであるかどうかを検出することができます。

            - -

            参考文献

            - - diff --git a/files/ko/_redirects.txt b/files/ko/_redirects.txt index 0dcfb7500c..dec0d5b016 100644 --- a/files/ko/_redirects.txt +++ b/files/ko/_redirects.txt @@ -409,7 +409,7 @@ /ko/docs/Navigation_timing /ko/docs/Web/API/Navigation_timing_API /ko/docs/Node_server_without_framework /ko/docs/Learn/Server-side/Node_server_without_framework /ko/docs/Notable_bugs_fixed_in_Firefox_3 /ko/docs/Mozilla/Firefox/Releases/3/Notable_bugs_fixed -/ko/docs/Online_and_offline_events /ko/docs/Web/API/Navigator/Online_and_offline_events +/ko/docs/Online_and_offline_events /ko/docs/Web/API/Navigator/onLine /ko/docs/Plugins/Guide/Scripting_plugins /ko/docs/Glossary/Plugin /ko/docs/SVG /ko/docs/Web/SVG /ko/docs/SVG/Tutorial /ko/docs/Web/SVG/Tutorial @@ -466,11 +466,12 @@ /ko/docs/Web/API/Navigator.battery /ko/docs/Web/API/Navigator/battery /ko/docs/Web/API/Navigator.battery/window.navigator.battery /ko/docs/Web/API/Navigator/battery /ko/docs/Web/API/Navigator.connection/window.navigator.connection /ko/docs/Web/API/Navigator/connection +/ko/docs/Web/API/Navigator/Online_and_offline_events /ko/docs/Web/API/Navigator/onLine /ko/docs/Web/API/NavigatorID /ko/docs/Web/API/Navigator /ko/docs/Web/API/NavigatorLanguage /ko/docs/Web/API/Navigator /ko/docs/Web/API/NavigatorLanguage/language /ko/docs/Web/API/Navigator/language /ko/docs/Web/API/NavigatorOnLine /ko/docs/Web/API/Navigator/language -/ko/docs/Web/API/NavigatorOnLine/Online_and_offline_events /ko/docs/Web/API/Navigator/Online_and_offline_events +/ko/docs/Web/API/NavigatorOnLine/Online_and_offline_events /ko/docs/Web/API/Navigator/onLine /ko/docs/Web/API/NetworkInformation.connection /ko/docs/Web/API/Navigator/connection /ko/docs/Web/API/NetworkInformation.connection/window.navigator.connection /ko/docs/Web/API/Navigator/connection /ko/docs/Web/API/NetworkInformation/connection /ko/docs/Web/API/Navigator/connection diff --git a/files/ko/web/api/navigator/online/index.html b/files/ko/web/api/navigator/online/index.html new file mode 100644 index 0000000000..b28eb025c1 --- /dev/null +++ b/files/ko/web/api/navigator/online/index.html @@ -0,0 +1,108 @@ +--- +title: Online and offline events +slug: Web/API/Navigator/onLine +tags: + - AJAX + - DOM + - Web Development +translation_of: Web/API/Navigator/Online_and_offline_events +original_slug: Web/API/Navigator/Online_and_offline_events +--- +

            In progress Firefox 3WHATWG 웹 애플리케이션 1.0 명세에 기술된 온라인/오프라인 이벤트를 구현합니다.

            + +

            개요

            + +

            좋은 오프라인 가능(offline-capable) 웹 애플리케이션을 작성하려면 여러분의 애플리케이션이 실제로 오프라인이 되는 때를 알아야 합니다. 덧붙여, 여러분의 애플리케이션이 '온라인' 상태로 돌아오는 때도 알아야 합니다. 사실, 이 요구사항은 다음과 같이 정리할 수 있습니다.

            + +
              +
            1. 여러분이 서버와 재동기화할 수 있도록 사용자가 온라인으로 돌아오는 때를 알아야 합니다.
            2. +
            3. 여러분의 서버 요청을 나중에 처리하기 위해 대기시킬 수 있도록 사용자가 오프라인이 되는 때를 알아야 합니다.
            4. +
            + +

            온라인/오프라인 이벤트는 이 과정을 단순하게 만드는 것을 도와줍니다.

            + +

            여러분의 웹 애플리케이션은 특정 문서가 오프라인 자원 캐시에 보관되는 것을 확실하게 할 필요도 있습니다. 이를 위해서는 다음과 같이 HEAD 섹션에 LINK 요소를 포함합니다.

            + +
            <link rel="offline-resource" href="myresource">
            +
            + +

            이는 Firefox 3 및 이후 버전에서 HTML을 처리할 때, 참조하는 자원을 오프라인에서 사용할 수 있도록 특별한 오프라인 자원 캐시에 저장하도록 합니다.

            + +

            API

            + + + +

            navigator.onLinetrue/false(온라인은 true, 오프라인은 false)를 보관하는 속성입니다. 이 속성은 사용자가 해당 메뉴 항목(파일 -> 오프라인 작업)을 선택하여 "오프라인 모드"로 전환할 때마다 갱신됩니다.

            + +

            또한 이 속성은 브라우저가 네트워크에 더 이상 연결할 수 없을 때마다 갱신됩니다. 명세에 따르면:

            + +
            사용자가 링크를 따라가거나 스크립트가 원격 페이지를 요청할 때 사용자 에이전트가 네트워크에 접속할 수 없으면 (혹은 그러한 시도가 실패할 것이라는 것을 안다면) navigator.onLine 속성은 false를 반환해야 합니다...
            + +

            Firefox 2는 윈도우와 리눅스에서 브라우저의 온라인/오프라인 모드가 바뀔 때와 네트워크가 끊어지거나 다시 접속될 때 이 속성을 갱신합니다.

            + +

            이 속성은 Firefox와 Internet Explorer의 이전 버전에도 있으므로 (명세는 이러한 기존 구현을 바탕으로 합니다) 이를 즉시 사용할 수 있습니다. 네트워크 상태의 자동 감지는 Firefox 2에서 구현되었습니다.

            + +

            "online"과 "offline" 이벤트

            + +

            Firefox 3는 두 가지 새로운 이벤트를 도입하고 있습니다: 바로 "online"과 "offline"입니다. 이 두 가지 이벤트는 브라우저가 온라인과 오프라인 모드를 전환할 때 각 페이지의 <body>에서 발생합니다. 덧붙여, 이 이벤트는 document.body에서 document로 전달되고 window에서 끝납니다. 두 가지 이벤트 모두 취소 불가능한(non-cancellable) 이벤트입니다(여러분은 사용자가 온라인이 되거나 오프라인이 되는 것을 막을 수 없습니다).

            + +

            널리 알려진 몇 가지 방법으로 해당 이벤트에 대한 리스너(listener)를 등록할 수 있습니다.

            + +
              +
            • window, document, document.body에서 addEventListener를 이용
            • +
            • 자바스크립트의 Function 개체에서 documentdocument.body.ononline 혹은 .onoffline 속성을 설정 (참고: 호환성 때문에window.ononline이나 window.onoffline은 올바로 동작하지 않습니다.)
            • +
            • HTML 마크업의 <body> 태그에 ononline="..." 혹은 onoffline="..." 속성을 지정
            • +
            + +

            예제

            + +

            이벤트가 동작하는지 확인할 수 있는 간단한 테스트 케이스가 있습니다. XXX When mochitests for this are created, point to those instead and update this example -nickolay

            + +
             <!doctype html>
            + <html>
            + <head>
            +   <script>
            +     function updateOnlineStatus(msg) {
            +       var status = document.getElementById("status");
            +       var condition = navigator.onLine ? "ONLINE" : "OFFLINE";
            +       status.setAttribute("class", condition);
            +       var state = document.getElementById("state");
            +       state.innerHTML = condition;
            +       var log = document.getElementById("log");
            +       log.appendChild(document.createTextNode("Event: " + msg + "; status=" + condition + "\n"));
            +     }
            +     function loaded() {
            +       updateOnlineStatus("load");
            +       document.body.addEventListener("offline", function () {
            +         updateOnlineStatus("offline")
            +       }, false);
            +       document.body.addEventListener("online", function () {
            +         updateOnlineStatus("online")
            +       }, false);
            +     }
            +   </script>
            +   <style>...</style>
            + </head>
            + <body onload="loaded()">
            +   <div id="status"><p id="state"></p></div>
            +   <div id="log"></div>
            + </body>
            + </html>
            +
            + +

            참고

            + + + +

             

            + +

             

            + +
             
            + +

            {{ languages( { "en": "en/Online_and_offline_events", "es": "es/Eventos_online_y_offline", "fr": "fr/\u00c9v\u00e8nements_online_et_offline", "ja": "ja/Online_and_offline_events", "pl": "pl/Zdarzenia_online_i_offline", "pt": "pt/Eventos_online_e_offline" } ) }}

            diff --git a/files/ko/web/api/navigator/online_and_offline_events/index.html b/files/ko/web/api/navigator/online_and_offline_events/index.html deleted file mode 100644 index 039240fedc..0000000000 --- a/files/ko/web/api/navigator/online_and_offline_events/index.html +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: Online and offline events -slug: Web/API/Navigator/Online_and_offline_events -tags: - - AJAX - - DOM - - Web Development -translation_of: Web/API/Navigator/Online_and_offline_events ---- -

            In progress Firefox 3WHATWG 웹 애플리케이션 1.0 명세에 기술된 온라인/오프라인 이벤트를 구현합니다.

            - -

            개요

            - -

            좋은 오프라인 가능(offline-capable) 웹 애플리케이션을 작성하려면 여러분의 애플리케이션이 실제로 오프라인이 되는 때를 알아야 합니다. 덧붙여, 여러분의 애플리케이션이 '온라인' 상태로 돌아오는 때도 알아야 합니다. 사실, 이 요구사항은 다음과 같이 정리할 수 있습니다.

            - -
              -
            1. 여러분이 서버와 재동기화할 수 있도록 사용자가 온라인으로 돌아오는 때를 알아야 합니다.
            2. -
            3. 여러분의 서버 요청을 나중에 처리하기 위해 대기시킬 수 있도록 사용자가 오프라인이 되는 때를 알아야 합니다.
            4. -
            - -

            온라인/오프라인 이벤트는 이 과정을 단순하게 만드는 것을 도와줍니다.

            - -

            여러분의 웹 애플리케이션은 특정 문서가 오프라인 자원 캐시에 보관되는 것을 확실하게 할 필요도 있습니다. 이를 위해서는 다음과 같이 HEAD 섹션에 LINK 요소를 포함합니다.

            - -
            <link rel="offline-resource" href="myresource">
            -
            - -

            이는 Firefox 3 및 이후 버전에서 HTML을 처리할 때, 참조하는 자원을 오프라인에서 사용할 수 있도록 특별한 오프라인 자원 캐시에 저장하도록 합니다.

            - -

            API

            - - - -

            navigator.onLinetrue/false(온라인은 true, 오프라인은 false)를 보관하는 속성입니다. 이 속성은 사용자가 해당 메뉴 항목(파일 -> 오프라인 작업)을 선택하여 "오프라인 모드"로 전환할 때마다 갱신됩니다.

            - -

            또한 이 속성은 브라우저가 네트워크에 더 이상 연결할 수 없을 때마다 갱신됩니다. 명세에 따르면:

            - -
            사용자가 링크를 따라가거나 스크립트가 원격 페이지를 요청할 때 사용자 에이전트가 네트워크에 접속할 수 없으면 (혹은 그러한 시도가 실패할 것이라는 것을 안다면) navigator.onLine 속성은 false를 반환해야 합니다...
            - -

            Firefox 2는 윈도우와 리눅스에서 브라우저의 온라인/오프라인 모드가 바뀔 때와 네트워크가 끊어지거나 다시 접속될 때 이 속성을 갱신합니다.

            - -

            이 속성은 Firefox와 Internet Explorer의 이전 버전에도 있으므로 (명세는 이러한 기존 구현을 바탕으로 합니다) 이를 즉시 사용할 수 있습니다. 네트워크 상태의 자동 감지는 Firefox 2에서 구현되었습니다.

            - -

            "online"과 "offline" 이벤트

            - -

            Firefox 3는 두 가지 새로운 이벤트를 도입하고 있습니다: 바로 "online"과 "offline"입니다. 이 두 가지 이벤트는 브라우저가 온라인과 오프라인 모드를 전환할 때 각 페이지의 <body>에서 발생합니다. 덧붙여, 이 이벤트는 document.body에서 document로 전달되고 window에서 끝납니다. 두 가지 이벤트 모두 취소 불가능한(non-cancellable) 이벤트입니다(여러분은 사용자가 온라인이 되거나 오프라인이 되는 것을 막을 수 없습니다).

            - -

            널리 알려진 몇 가지 방법으로 해당 이벤트에 대한 리스너(listener)를 등록할 수 있습니다.

            - -
              -
            • window, document, document.body에서 addEventListener를 이용
            • -
            • 자바스크립트의 Function 개체에서 documentdocument.body.ononline 혹은 .onoffline 속성을 설정 (참고: 호환성 때문에window.ononline이나 window.onoffline은 올바로 동작하지 않습니다.)
            • -
            • HTML 마크업의 <body> 태그에 ononline="..." 혹은 onoffline="..." 속성을 지정
            • -
            - -

            예제

            - -

            이벤트가 동작하는지 확인할 수 있는 간단한 테스트 케이스가 있습니다. XXX When mochitests for this are created, point to those instead and update this example -nickolay

            - -
             <!doctype html>
            - <html>
            - <head>
            -   <script>
            -     function updateOnlineStatus(msg) {
            -       var status = document.getElementById("status");
            -       var condition = navigator.onLine ? "ONLINE" : "OFFLINE";
            -       status.setAttribute("class", condition);
            -       var state = document.getElementById("state");
            -       state.innerHTML = condition;
            -       var log = document.getElementById("log");
            -       log.appendChild(document.createTextNode("Event: " + msg + "; status=" + condition + "\n"));
            -     }
            -     function loaded() {
            -       updateOnlineStatus("load");
            -       document.body.addEventListener("offline", function () {
            -         updateOnlineStatus("offline")
            -       }, false);
            -       document.body.addEventListener("online", function () {
            -         updateOnlineStatus("online")
            -       }, false);
            -     }
            -   </script>
            -   <style>...</style>
            - </head>
            - <body onload="loaded()">
            -   <div id="status"><p id="state"></p></div>
            -   <div id="log"></div>
            - </body>
            - </html>
            -
            - -

            참고

            - - - -

             

            - -

             

            - -
             
            - -

            {{ languages( { "en": "en/Online_and_offline_events", "es": "es/Eventos_online_y_offline", "fr": "fr/\u00c9v\u00e8nements_online_et_offline", "ja": "ja/Online_and_offline_events", "pl": "pl/Zdarzenia_online_i_offline", "pt": "pt/Eventos_online_e_offline" } ) }}

            -- cgit v1.2.3-54-g00ecf From b88331943881611bbf03c9475fa8134d084b8ed2 Mon Sep 17 00:00:00 2001 From: kraccoon-dev Date: Thu, 3 Mar 2022 15:36:41 +0900 Subject: h2m --- files/ko/web/javascript/shells/index.html | 41 ------------------------------- files/ko/web/javascript/shells/index.md | 37 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 41 deletions(-) delete mode 100644 files/ko/web/javascript/shells/index.html create mode 100644 files/ko/web/javascript/shells/index.md diff --git a/files/ko/web/javascript/shells/index.html b/files/ko/web/javascript/shells/index.html deleted file mode 100644 index 106b41621c..0000000000 --- a/files/ko/web/javascript/shells/index.html +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: JavaScript 쉘 -slug: Web/JavaScript/Shells -translation_of: Web/JavaScript/Shells -original_slug: Web/JavaScript/쉘 ---- -
            {{JsSidebar}}
            - -

            여러분은 JavaScript 쉘을 통해 웹페이지 새로고침하지 않고 빠르게 JavaScript 의 코드를 테스트해볼 수 있습니다. 코드를 개발하고 디버깅하는데 매우 유용한 도구입니다.

            - -

            독립적으로 사용할 수 있는 JavaScript 쉘

            - -

            아래의 Javascript 쉘은 펄과 파이썬과 같이 독립적인 환경을 제공합니다.

            - -
              -
            • Node.js - Node.js는 빠르고 확장 가능한 네트워크 어플리케이션을 쉽게 만들 수 있는 플랫폼입니다.
            • -
            • JSDB - Windows, Mac, Linux 환경에 맞는 컴파일된 바이너리를 제공하는 독립적인 독립적인 Javascript 쉘입니다.
            • -
            • JavaLikeScript - 네이티브와 JavaScript 라이브러리 모두를 제공하는 독립적이고 확장 가능한 JavaScript 쉘입니다.
            • -
            • GLUEscript - 크로스-플랫폼 JavaScript 어플리케이션을 제작하기 위한 독립적인 JavaScript 쉘입니다. GUI 앱을 위한 wxWidgets(구 wxJavaScript)를 사용할 수 있습니다.
            • -
            • jspl - Perl의 영향을 받은 독립적인 JavaScript 쉘입니다. JavaScript에서 직접 perl 모듈을 사용할 수 있습니다: 데이터베이스 통합을 위한 DBI, GUI 앱을 위한 GTK2, 시스템 프로그래밍을 위한 POSIX, 기타 등등. 현재로서는 JavaScript 프로그래머를 위한 최고의 CPAN입니다.
            • -
            • ShellJS - Node.js를 위한 포터블 Unix 쉘 명령도구입니다.
            • -
            - -

            JavaScript 쉘 리스트

            - -

            아래는 Mozilla에서 사용할 수 있는 JavaScript Shell입니다.

            - -
              -
            • Firefox는 Scratchpad라 불리는 자바스크립트 내장 콘솔을 가지고있습니다.(version6 이후)
            • -
            • JavaScript Shell (js) - JavaScript를 위한 command line인터프리터입니다.
            • -
            • XPConnect인 xpcshell - Mozilla개발자는 위한 유용한 쉘 입니다. (가끔 필요할거에요.)
            • -
            • Babel REPL - 최신 자바스크립트를 시험해 볼 수 있는 브라우저 기반 REPL입니다.
            • -
            • ES6Console.com - 브라우저에서 ECMAScript 2015 코드를 테스트 해보기위한 open-source JavaScript 콘솔 입니다.
            • -
            • jsconsole.com -- 웹에서 빠른속도록 JavaScript 코드를 테스트 해 볼 수 있는 open-source JavaScript 콘솔 입니다.
            • -
            • JavaScript Shell (web page) - Extension Developer's Extension의 일부 기능으로 사용 가능합니다.
            • -
            • Jash: JavaScript Shell - 웹에서 커맨드라인접속이 가능한 DHTML 기반 쉘 입니다.
            • -
            • MozRepl - Firefox 및 기타 Mozilla 응용 프로그램에 연결하고 코드를 실행하는 중에 코드내용을 다루거나 확인 할 수 있습니다.
            • -
            • Execute JS - (더이상 지원되지않음) - 확장 된 JavaScript 콘솔을 제공하는 Firefox 확장 기능입니다. 임의의 JavaScript 코드 및 수정 기능을 편안하게 입력하고 실행할 수 있습니다.
            • -
            • xqjs - Firefox를 위한 간단한 콘솔
            • -
            • Firebug - 콘솔을 포함한 Firefox 개발자도구입니다.
            • -
            diff --git a/files/ko/web/javascript/shells/index.md b/files/ko/web/javascript/shells/index.md new file mode 100644 index 0000000000..e4c0284deb --- /dev/null +++ b/files/ko/web/javascript/shells/index.md @@ -0,0 +1,37 @@ +--- +title: JavaScript 쉘 +slug: Web/JavaScript/Shells +translation_of: Web/JavaScript/Shells +original_slug: Web/JavaScript/쉘 +--- +{{JsSidebar}} + +여러분은 JavaScript 쉘을 통해 웹페이지 새로고침하지 않고 빠르게 [JavaScript](/en-US/docs/Web/JavaScript) 의 코드를 테스트해볼 수 있습니다. 코드를 개발하고 디버깅하는데 매우 유용한 도구입니다. + +## 독립적으로 사용할 수 있는 JavaScript 쉘 + +아래의 Javascript 쉘은 펄과 파이썬과 같이 독립적인 환경을 제공합니다. + +- [Node.js](http://nodejs.org/) - Node.js는 빠르고 확장 가능한 네트워크 어플리케이션을 쉽게 만들 수 있는 플랫폼입니다. +- [JSDB](http://www.jsdb.org/) - Windows, Mac, Linux 환경에 맞는 컴파일된 바이너리를 제공하는 독립적인 독립적인 Javascript 쉘입니다. +- [JavaLikeScript](http://javalikescript.free.fr/) - 네이티브와 JavaScript 라이브러리 모두를 제공하는 독립적이고 확장 가능한 JavaScript 쉘입니다. +- [GLUEscript](http://gluescript.sourceforge.net/) - 크로스-플랫폼 JavaScript 어플리케이션을 제작하기 위한 독립적인 JavaScript 쉘입니다. GUI 앱을 위한 wxWidgets(구 wxJavaScript)를 사용할 수 있습니다. +- [jspl](http://jspl.msg.mx/) - Perl의 영향을 받은 독립적인 JavaScript 쉘입니다. JavaScript에서 직접 perl 모듈을 사용할 수 있습니다: 데이터베이스 통합을 위한 DBI, GUI 앱을 위한 GTK2, 시스템 프로그래밍을 위한 POSIX, 기타 등등. 현재로서는 JavaScript 프로그래머를 위한 최고의 CPAN입니다. +- [ShellJS](http://shelljs.org) - Node.js를 위한 포터블 Unix 쉘 명령도구입니다. + +## JavaScript 쉘 리스트 + +아래는 Mozilla에서 사용할 수 있는 JavaScript Shell입니다. + +- Firefox는 [Scratchpad](/ko/docs/Tools/Scratchpad)라 불리는 자바스크립트 내장 콘솔을 가지고있습니다.(version6 이후) +- [JavaScript Shell](/ko/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell) (`js`) - JavaScript를 위한 command line인터프리터입니다. +- [XPConnect](/en-US/docs/Mozilla/Tech/XPCOM/Language_bindings/XPConnect)인 [xpcshell](/en-US/docs/Mozilla/XPConnect/xpcshell) - Mozilla개발자는 위한 유용한 쉘 입니다. (가끔 필요할거에요.) +- [Babel REPL](http://babeljs.io/repl) - 최신 자바스크립트를 시험해 볼 수 있는 브라우저 기반 [REPL](https://en.wikipedia.org/wiki/REPL)입니다. +- [ES6Console.com](http://es6console.com/) - 브라우저에서 ECMAScript 2015 코드를 테스트 해보기위한 open-source JavaScript 콘솔 입니다. +- [jsconsole.com](http://jsconsole.com/) -- 웹에서 빠른속도록 JavaScript 코드를 테스트 해 볼 수 있는 open-source JavaScript 콘솔 입니다. +- [JavaScript Shell (web page)](http://www.squarefree.com/shell/) - [Extension Developer's Extension](https://addons.mozilla.org/en-US/firefox/addon/7434)의 일부 기능으로 사용 가능합니다. +- [Jash: JavaScript Shell](http://www.billyreisinger.com/jash/) - 웹에서 커맨드라인접속이 가능한 [DHTML](https://ko.wikipedia.org/wiki/DHTML) 기반 쉘 입니다. +- [MozRepl](http://hyperstruct.net/projects/mozrepl) - Firefox 및 기타 Mozilla 응용 프로그램에 연결하고 코드를 실행하는 중에 코드내용을 다루거나 확인 할 수 있습니다. +- [Execute JS](https://addons.mozilla.org/en-US/firefox/addon/execute-js/) - (더이상 지원되지않음) - 확장 된 JavaScript 콘솔을 제공하는 Firefox 확장 기능입니다. 임의의 JavaScript 코드 및 수정 기능을 편안하게 입력하고 실행할 수 있습니다. +- [xqjs](https://addons.mozilla.org/addon/159546) - Firefox를 위한 간단한 콘솔 +- [Firebug](https://addons.mozilla.org/en-US/firefox/addon/firebug/) - 콘솔을 포함한 Firefox 개발자도구입니다. -- cgit v1.2.3-54-g00ecf From 5fbfeee5908241590dacb0f0aac3859f61360947 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 13:04:02 +0900 Subject: Node インターフェイスのメソッドの記事を移行 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/appendchild/index.html | 97 ----------- files/ja/web/api/node/appendchild/index.md | 97 +++++++++++ files/ja/web/api/node/clonenode/index.html | 62 ------- files/ja/web/api/node/clonenode/index.md | 62 +++++++ .../api/node/comparedocumentposition/index.html | 118 ------------- .../web/api/node/comparedocumentposition/index.md | 118 +++++++++++++ files/ja/web/api/node/contains/index.html | 56 ------- files/ja/web/api/node/contains/index.md | 56 +++++++ files/ja/web/api/node/haschildnodes/index.html | 31 ---- files/ja/web/api/node/haschildnodes/index.md | 31 ++++ files/ja/web/api/node/insertbefore/index.html | 186 --------------------- files/ja/web/api/node/insertbefore/index.md | 186 +++++++++++++++++++++ .../ja/web/api/node/isdefaultnamespace/index.html | 35 ---- files/ja/web/api/node/isdefaultnamespace/index.md | 35 ++++ files/ja/web/api/node/isequalnode/index.html | 90 ---------- files/ja/web/api/node/isequalnode/index.md | 90 ++++++++++ files/ja/web/api/node/issamenode/index.html | 39 ----- files/ja/web/api/node/issamenode/index.md | 39 +++++ files/ja/web/api/node/issupported/index.html | 44 ----- files/ja/web/api/node/issupported/index.md | 44 +++++ files/ja/web/api/node/normalize/index.html | 48 ------ files/ja/web/api/node/normalize/index.md | 48 ++++++ files/ja/web/api/node/removechild/index.html | 124 -------------- files/ja/web/api/node/removechild/index.md | 124 ++++++++++++++ files/ja/web/api/node/replacechild/index.html | 75 --------- files/ja/web/api/node/replacechild/index.md | 75 +++++++++ 26 files changed, 1005 insertions(+), 1005 deletions(-) delete mode 100644 files/ja/web/api/node/appendchild/index.html create mode 100644 files/ja/web/api/node/appendchild/index.md delete mode 100644 files/ja/web/api/node/clonenode/index.html create mode 100644 files/ja/web/api/node/clonenode/index.md delete mode 100644 files/ja/web/api/node/comparedocumentposition/index.html create mode 100644 files/ja/web/api/node/comparedocumentposition/index.md delete mode 100644 files/ja/web/api/node/contains/index.html create mode 100644 files/ja/web/api/node/contains/index.md delete mode 100644 files/ja/web/api/node/haschildnodes/index.html create mode 100644 files/ja/web/api/node/haschildnodes/index.md delete mode 100644 files/ja/web/api/node/insertbefore/index.html create mode 100644 files/ja/web/api/node/insertbefore/index.md delete mode 100644 files/ja/web/api/node/isdefaultnamespace/index.html create mode 100644 files/ja/web/api/node/isdefaultnamespace/index.md delete mode 100644 files/ja/web/api/node/isequalnode/index.html create mode 100644 files/ja/web/api/node/isequalnode/index.md delete mode 100644 files/ja/web/api/node/issamenode/index.html create mode 100644 files/ja/web/api/node/issamenode/index.md delete mode 100644 files/ja/web/api/node/issupported/index.html create mode 100644 files/ja/web/api/node/issupported/index.md delete mode 100644 files/ja/web/api/node/normalize/index.html create mode 100644 files/ja/web/api/node/normalize/index.md delete mode 100644 files/ja/web/api/node/removechild/index.html create mode 100644 files/ja/web/api/node/removechild/index.md delete mode 100644 files/ja/web/api/node/replacechild/index.html create mode 100644 files/ja/web/api/node/replacechild/index.md diff --git a/files/ja/web/api/node/appendchild/index.html b/files/ja/web/api/node/appendchild/index.html deleted file mode 100644 index 3242491906..0000000000 --- a/files/ja/web/api/node/appendchild/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Node.appendChild -slug: Web/API/Node/appendChild -tags: - - API - - DOM - - Method - - Node - - Reference -translation_of: Web/API/Node/appendChild ---- -
            {{APIRef("DOM")}}
            - -

            Node.appendChild() メソッドは、特定の親ノードの子ノードリストの末尾にノードを追加します。追加しようとしたノードが既に存在していたら、それは現在の親ノードから除かれ、新しい親ノードに追加されます(他のノードに追加する前にそのノードを親ノードから削除する必要はありません)。

            - -

            これは、ノードが同時にドキュメントの 2 箇所に存在できないということを意味します。ノードがすでに親を持っている場合、最初にノードが削除された後、新しい位置の末尾に追加されます。{{domxref("Node.cloneNode()")}} は、新しい親の末尾に追加する前に、ノードのコピーを作成するために使用できます。cloneNode で作成したコピーは自動的に同期を保たないことに注意してください。

            - -

            このメソッドでは、異なるドキュメント間でノードを移動することはできません。異なるドキュメントからノードを末尾に追加したい場合は、{{domxref("document.importNode()")}} メソッドを使用する必要があります。

            - -

            構文

            - -
            var aChild = element.appendChild(aChild);
            - -

            引数

            - -

            aChild

            - -

            親ノードに追加する子ノード(要素)

            - -

            戻り値

            - -

            追加した子ノードです。ただし、{{domxref("DocumentFragment")}}を引数にした場合は、空の{{domxref("DocumentFragment")}}が戻ります。

            - -

            注意

            - -

            appendChild() が子要素を返すため、メソッドチェーンが期待通りに動きません。:

            - -
            var aBlock = doc.createElement('block').appendChild(doc.createElement('b'));
            - -

            aBlock に <b></b> を与えただけでは期待通りに動きません。

            - -

            - -
            // 新しい段落要素を作成し、ドキュメントの body の最後に追加します。
            -var p = document.createElement("p");
            -document.body.appendChild(p);
            -
            - -

            仕様

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-appendchild', 'Node.appendChild()')}}{{Spec2('DOM WHATWG')}}{{SpecName("DOM3 Core")}} から変更なし。
            {{SpecName('DOM3 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM3 Core')}}{{SpecName("DOM2 Core")}} から変更なし。
            {{SpecName('DOM2 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM2 Core')}}{{SpecName("DOM1")}} から変更なし。
            {{SpecName('DOM1', 'level-one-core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM1')}}初期定義。
            - -

            ブラウザー実装状況

            - -

            {{Compat("api.Node.appendChild")}}

            - -
            - -

            関連情報

            - -
              -
            • {{domxref("Node.removeChild()")}}
            • -
            • {{domxref("Node.replaceChild()")}}
            • -
            • {{domxref("Node.insertBefore()")}}
            • -
            • {{domxref("Node.hasChildNodes()")}}
            • -
            • {{domxref("ParentNode.append()")}}
            • -
            diff --git a/files/ja/web/api/node/appendchild/index.md b/files/ja/web/api/node/appendchild/index.md new file mode 100644 index 0000000000..3242491906 --- /dev/null +++ b/files/ja/web/api/node/appendchild/index.md @@ -0,0 +1,97 @@ +--- +title: Node.appendChild +slug: Web/API/Node/appendChild +tags: + - API + - DOM + - Method + - Node + - Reference +translation_of: Web/API/Node/appendChild +--- +
            {{APIRef("DOM")}}
            + +

            Node.appendChild() メソッドは、特定の親ノードの子ノードリストの末尾にノードを追加します。追加しようとしたノードが既に存在していたら、それは現在の親ノードから除かれ、新しい親ノードに追加されます(他のノードに追加する前にそのノードを親ノードから削除する必要はありません)。

            + +

            これは、ノードが同時にドキュメントの 2 箇所に存在できないということを意味します。ノードがすでに親を持っている場合、最初にノードが削除された後、新しい位置の末尾に追加されます。{{domxref("Node.cloneNode()")}} は、新しい親の末尾に追加する前に、ノードのコピーを作成するために使用できます。cloneNode で作成したコピーは自動的に同期を保たないことに注意してください。

            + +

            このメソッドでは、異なるドキュメント間でノードを移動することはできません。異なるドキュメントからノードを末尾に追加したい場合は、{{domxref("document.importNode()")}} メソッドを使用する必要があります。

            + +

            構文

            + +
            var aChild = element.appendChild(aChild);
            + +

            引数

            + +

            aChild

            + +

            親ノードに追加する子ノード(要素)

            + +

            戻り値

            + +

            追加した子ノードです。ただし、{{domxref("DocumentFragment")}}を引数にした場合は、空の{{domxref("DocumentFragment")}}が戻ります。

            + +

            注意

            + +

            appendChild() が子要素を返すため、メソッドチェーンが期待通りに動きません。:

            + +
            var aBlock = doc.createElement('block').appendChild(doc.createElement('b'));
            + +

            aBlock に <b></b> を与えただけでは期待通りに動きません。

            + +

            + +
            // 新しい段落要素を作成し、ドキュメントの body の最後に追加します。
            +var p = document.createElement("p");
            +document.body.appendChild(p);
            +
            + +

            仕様

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-appendchild', 'Node.appendChild()')}}{{Spec2('DOM WHATWG')}}{{SpecName("DOM3 Core")}} から変更なし。
            {{SpecName('DOM3 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM3 Core')}}{{SpecName("DOM2 Core")}} から変更なし。
            {{SpecName('DOM2 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM2 Core')}}{{SpecName("DOM1")}} から変更なし。
            {{SpecName('DOM1', 'level-one-core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM1')}}初期定義。
            + +

            ブラウザー実装状況

            + +

            {{Compat("api.Node.appendChild")}}

            + +
            + +

            関連情報

            + +
              +
            • {{domxref("Node.removeChild()")}}
            • +
            • {{domxref("Node.replaceChild()")}}
            • +
            • {{domxref("Node.insertBefore()")}}
            • +
            • {{domxref("Node.hasChildNodes()")}}
            • +
            • {{domxref("ParentNode.append()")}}
            • +
            diff --git a/files/ja/web/api/node/clonenode/index.html b/files/ja/web/api/node/clonenode/index.html deleted file mode 100644 index db00fc7a61..0000000000 --- a/files/ja/web/api/node/clonenode/index.html +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Node.cloneNode() -slug: Web/API/Node/cloneNode -translation_of: Web/API/Node/cloneNode ---- -
            {{ApiRef}}
            - -

            概要

            - -

            現在のノードの複製を返します。

            - -

            構文

            - -
            var dupNode = node.cloneNode(deep);
            -
            - -
            -
            node
            -
            複製するノード
            -
            dupNode
            -
            新しく生成される node の複製
            -
            deep {{optional_inline}}
            -
            node の子孫ノードも複製する場合は truenode のみを複製する場合は false -
            -

            注記: DOM4 の仕様では (Gecko 13.0 {{geckoRelease("13.0")}} で実装) 、 deep は省略可能な引数です。省略された場合、 deep には true が渡され、深い複製を生成します。浅い複製を生成するには、 deepfalse にする必要があります。

            - -

            以前のDOMの仕様を実装しているブラウザでは、 deep は必須の引数です。

            -
            -
            -
            - -

            - -
            var p = document.getElementById("para1");
            -var p_prime = p.cloneNode(true);
            -
            - -

            注記

            - -

            ノードを複製すると、そのノードのすべての属性とその値がコピーされます。つまり、HTML属性のイベントを含みます。addEventListener() を使用したものや、要素のプロパティに代入されたもの (例: node.onclick = fn;) は複製されません。

            - -

            cloneNode によって返される複製ノードは、 {{domxref("Node.appendChild()")}} や同種のメソッドによってドキュメントの一部である他のノードに追加されるまでは、ドキュメントの一部ではありません。また、他のノードに追加されるまでは、親ノードを持ちません。

            - -

            deepfalse に設定されていると、どの子ノードも複製されません。 そのため、そのノードに含まれる {{domxref("Text")}} ノードも複製されません。

            - -

            deeptrue に評価できる場合、サブツリー全体 (子 {{domxref("Text")}} ノードにあるテキストを含む) もコピーされます。 {{HTMLElement("img")}} や {{HTMLElement("input")}} 要素などの空ノードの場合には deep を true と false のどちらに設定してもかまいません。

            - -
            注意: cloneNode() を使用すると、ドキュメント内で要素の id が重複する可能性があります。
            - -

            別のドキュメントに追加するためにノードを複製する場合は、代わりに {{domxref("Document.importNode()")}} を使用してください。

            - -

            ブラウザ実装状況

            - -

            {{Compat("api.Node.cloneNode")}}

            - -

            仕様書

            - -
              -
            • {{Spec("http://w3.org/TR/DOM-Level-2-Core/core.html#ID-3A0ED0A4","DOM Level 2 Core: cloneNode","REC")}}
            • -
            • {{Spec("http://w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4","DOM Level 3 Core: cloneNode","REC")}}
            • -
            • DOM4: cloneNode (草案)
            • -
            diff --git a/files/ja/web/api/node/clonenode/index.md b/files/ja/web/api/node/clonenode/index.md new file mode 100644 index 0000000000..db00fc7a61 --- /dev/null +++ b/files/ja/web/api/node/clonenode/index.md @@ -0,0 +1,62 @@ +--- +title: Node.cloneNode() +slug: Web/API/Node/cloneNode +translation_of: Web/API/Node/cloneNode +--- +
            {{ApiRef}}
            + +

            概要

            + +

            現在のノードの複製を返します。

            + +

            構文

            + +
            var dupNode = node.cloneNode(deep);
            +
            + +
            +
            node
            +
            複製するノード
            +
            dupNode
            +
            新しく生成される node の複製
            +
            deep {{optional_inline}}
            +
            node の子孫ノードも複製する場合は truenode のみを複製する場合は false +
            +

            注記: DOM4 の仕様では (Gecko 13.0 {{geckoRelease("13.0")}} で実装) 、 deep は省略可能な引数です。省略された場合、 deep には true が渡され、深い複製を生成します。浅い複製を生成するには、 deepfalse にする必要があります。

            + +

            以前のDOMの仕様を実装しているブラウザでは、 deep は必須の引数です。

            +
            +
            +
            + +

            + +
            var p = document.getElementById("para1");
            +var p_prime = p.cloneNode(true);
            +
            + +

            注記

            + +

            ノードを複製すると、そのノードのすべての属性とその値がコピーされます。つまり、HTML属性のイベントを含みます。addEventListener() を使用したものや、要素のプロパティに代入されたもの (例: node.onclick = fn;) は複製されません。

            + +

            cloneNode によって返される複製ノードは、 {{domxref("Node.appendChild()")}} や同種のメソッドによってドキュメントの一部である他のノードに追加されるまでは、ドキュメントの一部ではありません。また、他のノードに追加されるまでは、親ノードを持ちません。

            + +

            deepfalse に設定されていると、どの子ノードも複製されません。 そのため、そのノードに含まれる {{domxref("Text")}} ノードも複製されません。

            + +

            deeptrue に評価できる場合、サブツリー全体 (子 {{domxref("Text")}} ノードにあるテキストを含む) もコピーされます。 {{HTMLElement("img")}} や {{HTMLElement("input")}} 要素などの空ノードの場合には deep を true と false のどちらに設定してもかまいません。

            + +
            注意: cloneNode() を使用すると、ドキュメント内で要素の id が重複する可能性があります。
            + +

            別のドキュメントに追加するためにノードを複製する場合は、代わりに {{domxref("Document.importNode()")}} を使用してください。

            + +

            ブラウザ実装状況

            + +

            {{Compat("api.Node.cloneNode")}}

            + +

            仕様書

            + +
              +
            • {{Spec("http://w3.org/TR/DOM-Level-2-Core/core.html#ID-3A0ED0A4","DOM Level 2 Core: cloneNode","REC")}}
            • +
            • {{Spec("http://w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4","DOM Level 3 Core: cloneNode","REC")}}
            • +
            • DOM4: cloneNode (草案)
            • +
            diff --git a/files/ja/web/api/node/comparedocumentposition/index.html b/files/ja/web/api/node/comparedocumentposition/index.html deleted file mode 100644 index 5865081c84..0000000000 --- a/files/ja/web/api/node/comparedocumentposition/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Node.compareDocumentPosition -slug: Web/API/Node/compareDocumentPosition -tags: - - DOM - - DOM Element Methods - - Gecko - - Gecko DOM Reference -translation_of: Web/API/Node/compareDocumentPosition ---- -
            {{ApiRef}}
            - -

            概要

            - -

            そのノードと別のノードの位置を比較し、結果となるビットマスクを返します。

            - -

            構文

            - -
            node.compareDocumentPosition( otherNode )
            -
            - -

            パラメーター

            - -
            -
            node
            -
            比較元ノード
            -
            otherNode
            -
            node と比較する別ノード
            -
            - -

            返り値

            - -

            呼び出し元の node と {{domxref("Document")}} 内の otherNode の関係を表すビットの整数値。複数の条件に適応する場合、1つ以上のビットがセットされることがあります。compareDocumentPosition() を呼び出した node と比較して、otherNode が 文書のより前にあり、かつ node を含んでいるならば、DOCUMENT_POSITION_CONTAINS と DOCUMENT_POSITION_PRECEDING のビットがセットされ、結果は0x0Aもしくは10進数の10になります。

            - -

            注記

            - -

            戻り値は以下の値を持つビットマスクの何れかとなります。

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            名称
            DOCUMENT_POSITION_DISCONNECTED1
            DOCUMENT_POSITION_PRECEDING2
            DOCUMENT_POSITION_FOLLOWING4
            DOCUMENT_POSITION_CONTAINS8
            DOCUMENT_POSITION_CONTAINED_BY16
            DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC32
            - -

            - -
            var head = document.getElementsByTagName('head').item(0);
            -
            -if ( head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING ) {
            -  console.log("head 要素は body 要素より前に記述されています。");
            -} else {
            -  console.log("head 要素は body 要素の前に配置しなくてはなりません。");
            -}
            -
            - -
            -

            注記: compareDocumentPosition の戻り値はビットマスクです。よって、有意な結果を得るには ビット演算子の "&" を用いなくてはならない点に注意して下さい。

            -
            - -

            仕様

            - - - - - - - - - - - - - - - - - - - - - -
            仕様書策定状況コメント
            DOM Level 3Recommendation
            DOM StandardLiving standard
            - -

            関連情報

            - - diff --git a/files/ja/web/api/node/comparedocumentposition/index.md b/files/ja/web/api/node/comparedocumentposition/index.md new file mode 100644 index 0000000000..5865081c84 --- /dev/null +++ b/files/ja/web/api/node/comparedocumentposition/index.md @@ -0,0 +1,118 @@ +--- +title: Node.compareDocumentPosition +slug: Web/API/Node/compareDocumentPosition +tags: + - DOM + - DOM Element Methods + - Gecko + - Gecko DOM Reference +translation_of: Web/API/Node/compareDocumentPosition +--- +
            {{ApiRef}}
            + +

            概要

            + +

            そのノードと別のノードの位置を比較し、結果となるビットマスクを返します。

            + +

            構文

            + +
            node.compareDocumentPosition( otherNode )
            +
            + +

            パラメーター

            + +
            +
            node
            +
            比較元ノード
            +
            otherNode
            +
            node と比較する別ノード
            +
            + +

            返り値

            + +

            呼び出し元の node と {{domxref("Document")}} 内の otherNode の関係を表すビットの整数値。複数の条件に適応する場合、1つ以上のビットがセットされることがあります。compareDocumentPosition() を呼び出した node と比較して、otherNode が 文書のより前にあり、かつ node を含んでいるならば、DOCUMENT_POSITION_CONTAINS と DOCUMENT_POSITION_PRECEDING のビットがセットされ、結果は0x0Aもしくは10進数の10になります。

            + +

            注記

            + +

            戻り値は以下の値を持つビットマスクの何れかとなります。

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            名称
            DOCUMENT_POSITION_DISCONNECTED1
            DOCUMENT_POSITION_PRECEDING2
            DOCUMENT_POSITION_FOLLOWING4
            DOCUMENT_POSITION_CONTAINS8
            DOCUMENT_POSITION_CONTAINED_BY16
            DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC32
            + +

            + +
            var head = document.getElementsByTagName('head').item(0);
            +
            +if ( head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING ) {
            +  console.log("head 要素は body 要素より前に記述されています。");
            +} else {
            +  console.log("head 要素は body 要素の前に配置しなくてはなりません。");
            +}
            +
            + +
            +

            注記: compareDocumentPosition の戻り値はビットマスクです。よって、有意な結果を得るには ビット演算子の "&" を用いなくてはならない点に注意して下さい。

            +
            + +

            仕様

            + + + + + + + + + + + + + + + + + + + + + +
            仕様書策定状況コメント
            DOM Level 3Recommendation
            DOM StandardLiving standard
            + +

            関連情報

            + + diff --git a/files/ja/web/api/node/contains/index.html b/files/ja/web/api/node/contains/index.html deleted file mode 100644 index 2947ce92d1..0000000000 --- a/files/ja/web/api/node/contains/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Node.contains -slug: Web/API/Node/contains -tags: - - API - - DOM - - Method - - Node -translation_of: Web/API/Node/contains ---- -
            {{APIRef("DOM")}}
            - -

            Node.contains メソッドは指定ノードの子孫ノードに特定の子ノード(※自身も含む)が含まれるかどうかを示す真偽値を返します。

            - -

            構文

            - -
            node.contains( otherNode )
            -
            - -

            - -

            この関数は、ある要素がそのページの body 要素に含まれるかどうかをチェックするものです。contains は包括的かつ決定的であるため、body がそれ自身を含むかどうかは isInPage の意図ではないため明示的に false を返します。

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

            仕様

            - - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName("DOM WHATWG", "#dom-node-contains", "Node.contains()")}}{{Spec2("DOM WHATWG")}}Initial definition
            - -

            ブラウザ実装状況

            - -

            {{Compat("api.Node.contains")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.compareDocumentPosition")}}
            • -
            • {{domxref("Node.hasChildNodes")}}
            • -
            diff --git a/files/ja/web/api/node/contains/index.md b/files/ja/web/api/node/contains/index.md new file mode 100644 index 0000000000..2947ce92d1 --- /dev/null +++ b/files/ja/web/api/node/contains/index.md @@ -0,0 +1,56 @@ +--- +title: Node.contains +slug: Web/API/Node/contains +tags: + - API + - DOM + - Method + - Node +translation_of: Web/API/Node/contains +--- +
            {{APIRef("DOM")}}
            + +

            Node.contains メソッドは指定ノードの子孫ノードに特定の子ノード(※自身も含む)が含まれるかどうかを示す真偽値を返します。

            + +

            構文

            + +
            node.contains( otherNode )
            +
            + +

            + +

            この関数は、ある要素がそのページの body 要素に含まれるかどうかをチェックするものです。contains は包括的かつ決定的であるため、body がそれ自身を含むかどうかは isInPage の意図ではないため明示的に false を返します。

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

            仕様

            + + + + + + + + + + + + + + + + +
            仕様ステータスコメント
            {{SpecName("DOM WHATWG", "#dom-node-contains", "Node.contains()")}}{{Spec2("DOM WHATWG")}}Initial definition
            + +

            ブラウザ実装状況

            + +

            {{Compat("api.Node.contains")}}

            + +

            関連情報

            + +
              +
            • {{domxref("Node.compareDocumentPosition")}}
            • +
            • {{domxref("Node.hasChildNodes")}}
            • +
            diff --git a/files/ja/web/api/node/haschildnodes/index.html b/files/ja/web/api/node/haschildnodes/index.html deleted file mode 100644 index b4ed1654d3..0000000000 --- a/files/ja/web/api/node/haschildnodes/index.html +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Node.hasChildNodes -slug: Web/API/Node/hasChildNodes -tags: - - DOM - - Gecko - - Gecko DOM Reference -translation_of: Web/API/Node/hasChildNodes ---- -
            - {{ApiRef}}
            -

            概要

            -

            hasChildNodes は指定したノード子ノードを持つか否かを示す真偽値を返します。

            -

            構文

            -
            node.hasChildNodes()
            -

            -

            "foo" を id に持つ要素の子ノードの存在を確認し、存在する場合は最初の子ノードを削除する例を以下に示します。

            -
            var foo = document.getElementById("foo");
            -
            -if ( foo.hasChildNodes() ) {
            -  foo.removeChild( foo.childNodes[0] );
            -}
            -

            仕様書

            - -

            関連情報

            -
              -
            • {{domxref("Node.childNodes")}}
            • -
            • {{domxref("Node.hasAttributes")}}
            • -
            diff --git a/files/ja/web/api/node/haschildnodes/index.md b/files/ja/web/api/node/haschildnodes/index.md new file mode 100644 index 0000000000..b4ed1654d3 --- /dev/null +++ b/files/ja/web/api/node/haschildnodes/index.md @@ -0,0 +1,31 @@ +--- +title: Node.hasChildNodes +slug: Web/API/Node/hasChildNodes +tags: + - DOM + - Gecko + - Gecko DOM Reference +translation_of: Web/API/Node/hasChildNodes +--- +
            + {{ApiRef}}
            +

            概要

            +

            hasChildNodes は指定したノード子ノードを持つか否かを示す真偽値を返します。

            +

            構文

            +
            node.hasChildNodes()
            +

            +

            "foo" を id に持つ要素の子ノードの存在を確認し、存在する場合は最初の子ノードを削除する例を以下に示します。

            +
            var foo = document.getElementById("foo");
            +
            +if ( foo.hasChildNodes() ) {
            +  foo.removeChild( foo.childNodes[0] );
            +}
            +

            仕様書

            + +

            関連情報

            +
              +
            • {{domxref("Node.childNodes")}}
            • +
            • {{domxref("Node.hasAttributes")}}
            • +
            diff --git a/files/ja/web/api/node/insertbefore/index.html b/files/ja/web/api/node/insertbefore/index.html deleted file mode 100644 index 2bfea72cdf..0000000000 --- a/files/ja/web/api/node/insertbefore/index.html +++ /dev/null @@ -1,186 +0,0 @@ ---- -title: Node.insertBefore() -slug: Web/API/Node/insertBefore -tags: - - API - - DOM - - Element - - Method - - Node - - Reference - - メソッド -translation_of: Web/API/Node/insertBefore ---- -
            {{APIRef("DOM")}}
            - -

            Node.insertBefore() メソッドは、ノードを参照ノードの前に、指定された親ノードの子として挿入します。

            - -

            指定されたノードが既に文書中に存在した場合、 insertBefore() はこれを現在の位置から新しい位置に移動します。 (つまり、既存の親ノードから自動的に削除され、指定された新しい親に追加されます。)

            - -

            これは、1つのノードが文書中に同時に2か所に存在できないことを意味します。

            - -
            -

            メモ: {{domxref("Node.cloneNode()")}} を使用して、ノードを新しい親の下に追加する前に複製を作成することができます。なお、 cloneNode() で作成された複製は自動的には同期されません。

            -
            - -

            指定された子が {{domxref("DocumentFragment")}} である場合、 DocumentFragment の内容全体が指定された親ノードの子リストに移動されます。

            - -

            構文

            - -
            let insertedNode = parentNode.insertBefore(newNode, referenceNode)
            -
            - -
            -
            insertedNode
            -
            挿入されたノード (newNode と同じ) です。
            -
            parentNode
            -
            新しく挿入されるノードの親です。
            -
            newNode
            -
            挿入されるノードです。
            -
            referenceNode
            -
            newNode がこのノードの直前に挿入されます。このノードが null である場合は、 newNodeparentNode の子ノードの末尾に挿入されます。
            -
            - -
            -

            メモ: referenceNode は省略可能な引数ではありません。明示的に {{domxref("Node")}} または null を渡す必要があります。渡し忘れた場合や無効な値を渡した場合は、ブラウザーのバージョンによって異なる動作をすることがあります。

            -
            - -

            返値

            - -

            追加された子ノードを返します (ただし newNode が {{domxref("DocumentFragment")}} の場合は、空の {{domxref("DocumentFragment")}} が返ります)。

            - -

            - -

            例 1

            - -
            <div id="parentElement">
            -   <span id="childElement">foo bar</span>
            -</div>
            -
            -<script>
            -// 挿入する新しいノードを作成する
            -let newNode = document.createElement("span")
            -
            -// 親ノードの参照を取得する
            -let parentDiv = document.getElementById("childElement").parentNode
            -
            -// テストケース [ 1 ] 開始: 既存の childElement (すべて正しく動作)
            -let sp2 = document.getElementById("childElement")
            -parentDiv.insertBefore(newNode, sp2)
            -// テストケース [ 1 ] 終了
            -
            -// テストケース [ 2 ] 開始: childElement が undefined 型の場合
            -let sp2 = undefined // "childElement" の ID を持つノードが存在しない
            -parentDiv.insertBefore(newNode, sp2) // Node 型に暗黙に動的型変換
            -// テストケース [ 2 ] 終了
            -
            -// テストケース [ 3 ] 開始: childElement が "undefined" (文字列) の場合
            -let sp2 = "undefined" // "childElement" の ID を持つノードが存在しない
            -parentDiv.insertBefore(newNode, sp2) // Generates "Type Error: Invalid Argument"
            -// テストケース [ 3 ] 終了
            -</script>
            -
            - -

            例 2

            - -
            <div id="parentElement">
            -  <span id="childElement">foo bar</span>
            -</div>
            -
            -<script>
            -// 新しい只の <span> 要素を作成
            -let sp1 = document.createElement("span")
            -
            -// 参照要素を取得
            -let sp2 = document.getElementById("childElement")
            -// 親要素を取得
            -let parentDiv = sp2.parentNode
            -
            -// 新しい要素を sp2 の手前に挿入
            -parentDiv.insertBefore(sp1, sp2)
            -</script>
            -
            - -
            -

            メモ: insertAfter() メソッドはありません。これは insertBefore メソッドと {{domxref("Node.nextSibling")}} の組み合わせでエミュレートできます。

            -
            - -

            前の例では、 sp1 は以下のようにして sp2 の後に挿入することができます。

            - -
            parentDiv.insertBefore(sp1, sp2.nextSibling)
            - -

            sp2 に次の兄弟がない場合、これは最後の子ノードです。 — sp2.nextSiblingnull を返し、 sp1 は子ノードリストの末尾 (sp2 の直後) に挿入されます。

            - -

            例 3

            - -

            要素を最初の子要素の前に挿入するために、 {{domxref("Node/firstChild", "firstChild")}} プロパティを使用します。

            - -
            // 親ノードを取得
            -let parentElement = document.getElementById('parentElement')
            -// 親の最初の子を取得
            -let theFirstChild = parentElement.firstChild
            -
            -// 新しい要素を取得
            -let newElement = document.createElement("div")
            -
            -// 最初の子の前に新しい要素を挿入
            -parentElement.insertBefore(newElement, theFirstChild)
            -
            - -

            要素に最初の子がない場合、 firstChildnull になります。その場合も、要素は親の最後の子の後に追加されます。

            - -

            親要素が最初の子を持っていない場合は、最後の子も持っていません。結果的に、新しく挿入された要素は唯一の要素になります。

            - -

            仕様書

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            仕様書状態備考
            {{SpecName('DOM WHATWG','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM WHATWG')}}挿入アルゴリズムのエラーを修正
            {{SpecName('DOM4','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM4')}}より詳細にアルゴリズムを記述
            {{SpecName('DOM3 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM3 Core')}}目立った変更はなし
            {{SpecName('DOM2 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM2 Core')}}目立った変更はなし
            {{SpecName('DOM1','level-one-core.html#method-insertBefore','Node.insertBefore')}}{{Spec2('DOM1')}}導入
            - -

            ブラウザーの互換性

            - -

            {{Compat("api.Node.insertBefore")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.removeChild()")}}
            • -
            • {{domxref("Node.replaceChild()")}}
            • -
            • {{domxref("Node.appendChild()")}}
            • -
            • {{domxref("Node.hasChildNodes()")}}
            • -
            • {{domxref("Element.insertAdjacentElement()")}}
            • -
            • {{domxref("ParentNode.prepend()")}}
            • -
            diff --git a/files/ja/web/api/node/insertbefore/index.md b/files/ja/web/api/node/insertbefore/index.md new file mode 100644 index 0000000000..2bfea72cdf --- /dev/null +++ b/files/ja/web/api/node/insertbefore/index.md @@ -0,0 +1,186 @@ +--- +title: Node.insertBefore() +slug: Web/API/Node/insertBefore +tags: + - API + - DOM + - Element + - Method + - Node + - Reference + - メソッド +translation_of: Web/API/Node/insertBefore +--- +
            {{APIRef("DOM")}}
            + +

            Node.insertBefore() メソッドは、ノードを参照ノードの前に、指定された親ノードの子として挿入します。

            + +

            指定されたノードが既に文書中に存在した場合、 insertBefore() はこれを現在の位置から新しい位置に移動します。 (つまり、既存の親ノードから自動的に削除され、指定された新しい親に追加されます。)

            + +

            これは、1つのノードが文書中に同時に2か所に存在できないことを意味します。

            + +
            +

            メモ: {{domxref("Node.cloneNode()")}} を使用して、ノードを新しい親の下に追加する前に複製を作成することができます。なお、 cloneNode() で作成された複製は自動的には同期されません。

            +
            + +

            指定された子が {{domxref("DocumentFragment")}} である場合、 DocumentFragment の内容全体が指定された親ノードの子リストに移動されます。

            + +

            構文

            + +
            let insertedNode = parentNode.insertBefore(newNode, referenceNode)
            +
            + +
            +
            insertedNode
            +
            挿入されたノード (newNode と同じ) です。
            +
            parentNode
            +
            新しく挿入されるノードの親です。
            +
            newNode
            +
            挿入されるノードです。
            +
            referenceNode
            +
            newNode がこのノードの直前に挿入されます。このノードが null である場合は、 newNodeparentNode の子ノードの末尾に挿入されます。
            +
            + +
            +

            メモ: referenceNode は省略可能な引数ではありません。明示的に {{domxref("Node")}} または null を渡す必要があります。渡し忘れた場合や無効な値を渡した場合は、ブラウザーのバージョンによって異なる動作をすることがあります。

            +
            + +

            返値

            + +

            追加された子ノードを返します (ただし newNode が {{domxref("DocumentFragment")}} の場合は、空の {{domxref("DocumentFragment")}} が返ります)。

            + +

            + +

            例 1

            + +
            <div id="parentElement">
            +   <span id="childElement">foo bar</span>
            +</div>
            +
            +<script>
            +// 挿入する新しいノードを作成する
            +let newNode = document.createElement("span")
            +
            +// 親ノードの参照を取得する
            +let parentDiv = document.getElementById("childElement").parentNode
            +
            +// テストケース [ 1 ] 開始: 既存の childElement (すべて正しく動作)
            +let sp2 = document.getElementById("childElement")
            +parentDiv.insertBefore(newNode, sp2)
            +// テストケース [ 1 ] 終了
            +
            +// テストケース [ 2 ] 開始: childElement が undefined 型の場合
            +let sp2 = undefined // "childElement" の ID を持つノードが存在しない
            +parentDiv.insertBefore(newNode, sp2) // Node 型に暗黙に動的型変換
            +// テストケース [ 2 ] 終了
            +
            +// テストケース [ 3 ] 開始: childElement が "undefined" (文字列) の場合
            +let sp2 = "undefined" // "childElement" の ID を持つノードが存在しない
            +parentDiv.insertBefore(newNode, sp2) // Generates "Type Error: Invalid Argument"
            +// テストケース [ 3 ] 終了
            +</script>
            +
            + +

            例 2

            + +
            <div id="parentElement">
            +  <span id="childElement">foo bar</span>
            +</div>
            +
            +<script>
            +// 新しい只の <span> 要素を作成
            +let sp1 = document.createElement("span")
            +
            +// 参照要素を取得
            +let sp2 = document.getElementById("childElement")
            +// 親要素を取得
            +let parentDiv = sp2.parentNode
            +
            +// 新しい要素を sp2 の手前に挿入
            +parentDiv.insertBefore(sp1, sp2)
            +</script>
            +
            + +
            +

            メモ: insertAfter() メソッドはありません。これは insertBefore メソッドと {{domxref("Node.nextSibling")}} の組み合わせでエミュレートできます。

            +
            + +

            前の例では、 sp1 は以下のようにして sp2 の後に挿入することができます。

            + +
            parentDiv.insertBefore(sp1, sp2.nextSibling)
            + +

            sp2 に次の兄弟がない場合、これは最後の子ノードです。 — sp2.nextSiblingnull を返し、 sp1 は子ノードリストの末尾 (sp2 の直後) に挿入されます。

            + +

            例 3

            + +

            要素を最初の子要素の前に挿入するために、 {{domxref("Node/firstChild", "firstChild")}} プロパティを使用します。

            + +
            // 親ノードを取得
            +let parentElement = document.getElementById('parentElement')
            +// 親の最初の子を取得
            +let theFirstChild = parentElement.firstChild
            +
            +// 新しい要素を取得
            +let newElement = document.createElement("div")
            +
            +// 最初の子の前に新しい要素を挿入
            +parentElement.insertBefore(newElement, theFirstChild)
            +
            + +

            要素に最初の子がない場合、 firstChildnull になります。その場合も、要素は親の最後の子の後に追加されます。

            + +

            親要素が最初の子を持っていない場合は、最後の子も持っていません。結果的に、新しく挿入された要素は唯一の要素になります。

            + +

            仕様書

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            仕様書状態備考
            {{SpecName('DOM WHATWG','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM WHATWG')}}挿入アルゴリズムのエラーを修正
            {{SpecName('DOM4','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM4')}}より詳細にアルゴリズムを記述
            {{SpecName('DOM3 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM3 Core')}}目立った変更はなし
            {{SpecName('DOM2 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM2 Core')}}目立った変更はなし
            {{SpecName('DOM1','level-one-core.html#method-insertBefore','Node.insertBefore')}}{{Spec2('DOM1')}}導入
            + +

            ブラウザーの互換性

            + +

            {{Compat("api.Node.insertBefore")}}

            + +

            関連情報

            + +
              +
            • {{domxref("Node.removeChild()")}}
            • +
            • {{domxref("Node.replaceChild()")}}
            • +
            • {{domxref("Node.appendChild()")}}
            • +
            • {{domxref("Node.hasChildNodes()")}}
            • +
            • {{domxref("Element.insertAdjacentElement()")}}
            • +
            • {{domxref("ParentNode.prepend()")}}
            • +
            diff --git a/files/ja/web/api/node/isdefaultnamespace/index.html b/files/ja/web/api/node/isdefaultnamespace/index.html deleted file mode 100644 index 018e6562cc..0000000000 --- a/files/ja/web/api/node/isdefaultnamespace/index.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Node.isDefaultNamespace -slug: Web/API/Node/isDefaultNamespace -tags: - - DOM - - Gecko DOM Reference - - Namespaces - - Node -translation_of: Web/API/Node/isDefaultNamespace ---- -
            - {{ApiRef}}
            -

            概要

            -

            isDefaultNamespace は、引数としてネームスペース URI を受け取り、ネームスペースが指定されたノードのデフォルトのネームスペースである場合に true を返します。そうでない場合は false を返します。

            -

            構文

            -
            result = node.isDefaultNamespace(namespaceURI)
            -
            -
              -
            • result : 戻り値は真偽値 (true / false) となる
            • -
            • namespaceURI : 要素に対してチェックする、名前空間を表す文字列
            • -
            -

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

            仕様書

            - -

            関連情報

            - diff --git a/files/ja/web/api/node/isdefaultnamespace/index.md b/files/ja/web/api/node/isdefaultnamespace/index.md new file mode 100644 index 0000000000..018e6562cc --- /dev/null +++ b/files/ja/web/api/node/isdefaultnamespace/index.md @@ -0,0 +1,35 @@ +--- +title: Node.isDefaultNamespace +slug: Web/API/Node/isDefaultNamespace +tags: + - DOM + - Gecko DOM Reference + - Namespaces + - Node +translation_of: Web/API/Node/isDefaultNamespace +--- +
            + {{ApiRef}}
            +

            概要

            +

            isDefaultNamespace は、引数としてネームスペース URI を受け取り、ネームスペースが指定されたノードのデフォルトのネームスペースである場合に true を返します。そうでない場合は false を返します。

            +

            構文

            +
            result = node.isDefaultNamespace(namespaceURI)
            +
            +
              +
            • result : 戻り値は真偽値 (true / false) となる
            • +
            • namespaceURI : 要素に対してチェックする、名前空間を表す文字列
            • +
            +

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

            仕様書

            + +

            関連情報

            + diff --git a/files/ja/web/api/node/isequalnode/index.html b/files/ja/web/api/node/isequalnode/index.html deleted file mode 100644 index 3eced87fe0..0000000000 --- a/files/ja/web/api/node/isequalnode/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Node.isEqualNode -slug: Web/API/Node/isEqualNode -translation_of: Web/API/Node/isEqualNode ---- -
            {{ApiRef}}
            - -

            概要

            - -

            Node.isEqualNode()は2つのノードが同値かどうかをテストします。それぞれのノードが同じ型で、同じ特性(要素であればIDや子要素の数など)、属性値などを持つ場合、同値と判定されます。比較される内容はノードの型によって異なります。

            - -

            構文

            - -
            var isEqualNode = node.isEqualNode(otherNode);
            -
            - -
              -
            • otherNode : 同値性を比較する対象の {{domxref("Node")}}
            • -
            - -

            - -

            3つの {{HTMLElement("div")}} ブロックを作成する例を示します。1つめと3つめは同じ内容と属性を持ち、2番目は異なっています。このとき、isEqualNode() を使ってJavaScriptでノードを比較した結果は以下のようになります。

            - -

            HTML

            - -
            <div>最初の要素です。</div>
            -<div>2番目の要素です。</div>
            -<div>最初の要素です。</div>
            -
            -<p id="output"></p>
            - - - -

            JavaScript

            - -
            let output = document.getElementById("output");
            -let divList  = document.getElementsByTagName("div");
            -
            -output.innerHTML += "div 0 と div 0 は同じか: " + divList[0].isEqualNode(divList[0]) + "<br/>";
            -output.innerHTML += "div 0 と div 1 は同じか: " + divList[0].isEqualNode(divList[1]) + "<br/>";
            -output.innerHTML += "div 0 と div 2 は同じか: " + divList[0].isEqualNode(divList[2]) + "<br/>";
            - -

            Results

            - -

            {{ EmbedLiveSample('Example', 480) }}

            - -

            -

            仕様

            - - - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-isequalnode', 'Node.isEqualNode')}}{{Spec2('DOM WHATWG')}}
            - -

            ブラウザー互換性

            - - - -

            {{Compat("api.Node.isEqualNode")}}

            - -

            参考

            - -
              -
            • {{domxref("Node.isSameNode()")}}
            • -
            diff --git a/files/ja/web/api/node/isequalnode/index.md b/files/ja/web/api/node/isequalnode/index.md new file mode 100644 index 0000000000..3eced87fe0 --- /dev/null +++ b/files/ja/web/api/node/isequalnode/index.md @@ -0,0 +1,90 @@ +--- +title: Node.isEqualNode +slug: Web/API/Node/isEqualNode +translation_of: Web/API/Node/isEqualNode +--- +
            {{ApiRef}}
            + +

            概要

            + +

            Node.isEqualNode()は2つのノードが同値かどうかをテストします。それぞれのノードが同じ型で、同じ特性(要素であればIDや子要素の数など)、属性値などを持つ場合、同値と判定されます。比較される内容はノードの型によって異なります。

            + +

            構文

            + +
            var isEqualNode = node.isEqualNode(otherNode);
            +
            + +
              +
            • otherNode : 同値性を比較する対象の {{domxref("Node")}}
            • +
            + +

            + +

            3つの {{HTMLElement("div")}} ブロックを作成する例を示します。1つめと3つめは同じ内容と属性を持ち、2番目は異なっています。このとき、isEqualNode() を使ってJavaScriptでノードを比較した結果は以下のようになります。

            + +

            HTML

            + +
            <div>最初の要素です。</div>
            +<div>2番目の要素です。</div>
            +<div>最初の要素です。</div>
            +
            +<p id="output"></p>
            + + + +

            JavaScript

            + +
            let output = document.getElementById("output");
            +let divList  = document.getElementsByTagName("div");
            +
            +output.innerHTML += "div 0 と div 0 は同じか: " + divList[0].isEqualNode(divList[0]) + "<br/>";
            +output.innerHTML += "div 0 と div 1 は同じか: " + divList[0].isEqualNode(divList[1]) + "<br/>";
            +output.innerHTML += "div 0 と div 2 は同じか: " + divList[0].isEqualNode(divList[2]) + "<br/>";
            + +

            Results

            + +

            {{ EmbedLiveSample('Example', 480) }}

            + +

            +

            仕様

            + + + + + + + + + + + + + + + + + +
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-isequalnode', 'Node.isEqualNode')}}{{Spec2('DOM WHATWG')}}
            + +

            ブラウザー互換性

            + + + +

            {{Compat("api.Node.isEqualNode")}}

            + +

            参考

            + +
              +
            • {{domxref("Node.isSameNode()")}}
            • +
            diff --git a/files/ja/web/api/node/issamenode/index.html b/files/ja/web/api/node/issamenode/index.html deleted file mode 100644 index f94668cfd5..0000000000 --- a/files/ja/web/api/node/issamenode/index.html +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Node.isSameNode -slug: Web/API/Node/isSameNode -tags: - - DOM - - Gecko DOM Reference - - Node -translation_of: Web/API/Node/isSameNode ---- -
            - {{ApiRef}}{{Obsolete_header}}
            -

            概要

            -

            ふたつのノードが同一ノードの場合は true を、異なる場合は false を返します。

            -
            - 注記: このメソッドは DOM level 4 で削除されており、Gecko 10.0 {{geckoRelease("10.0")}} やその他のブラウザの最近のバージョンには実装されていません。よって、別の方法を採る必要があります。
            -
            // 当メソッド
            -node1.isSameNode(node2)
            -
            -// 代替策
            -node1 === node2
            -node1 == node2
            -
            -
            -
            -

            構文

            -
            isSameNode = node.isSameNode(org);
            -
            -
              -
            • arg : 比較ノード
            • -
            -

            仕様書

            -
              -
            • {{spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode","DOM Level 3 Core: isSameNode","REC")}}
            • -
            • {{spec("http://www.w3.org/TR/domcore/","DOM Core Level 4","WD")}} で削除されています
            • -
            -

            関連情報

            -
              -
            • {{domxref("Node.isEqualNode")}}
            • -
            diff --git a/files/ja/web/api/node/issamenode/index.md b/files/ja/web/api/node/issamenode/index.md new file mode 100644 index 0000000000..f94668cfd5 --- /dev/null +++ b/files/ja/web/api/node/issamenode/index.md @@ -0,0 +1,39 @@ +--- +title: Node.isSameNode +slug: Web/API/Node/isSameNode +tags: + - DOM + - Gecko DOM Reference + - Node +translation_of: Web/API/Node/isSameNode +--- +
            + {{ApiRef}}{{Obsolete_header}}
            +

            概要

            +

            ふたつのノードが同一ノードの場合は true を、異なる場合は false を返します。

            +
            + 注記: このメソッドは DOM level 4 で削除されており、Gecko 10.0 {{geckoRelease("10.0")}} やその他のブラウザの最近のバージョンには実装されていません。よって、別の方法を採る必要があります。
            +
            // 当メソッド
            +node1.isSameNode(node2)
            +
            +// 代替策
            +node1 === node2
            +node1 == node2
            +
            +
            +
            +

            構文

            +
            isSameNode = node.isSameNode(org);
            +
            +
              +
            • arg : 比較ノード
            • +
            +

            仕様書

            +
              +
            • {{spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode","DOM Level 3 Core: isSameNode","REC")}}
            • +
            • {{spec("http://www.w3.org/TR/domcore/","DOM Core Level 4","WD")}} で削除されています
            • +
            +

            関連情報

            +
              +
            • {{domxref("Node.isEqualNode")}}
            • +
            diff --git a/files/ja/web/api/node/issupported/index.html b/files/ja/web/api/node/issupported/index.html deleted file mode 100644 index 3b25dc254b..0000000000 --- a/files/ja/web/api/node/issupported/index.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Node.isSupported -slug: Web/API/Node/isSupported -tags: - - DOM - - DOM Element Methods - - Gecko - - Gecko DOM Reference -translation_of: Web/API/Node/isSupported ---- -
            - {{ApiRef}}{{obsolete_header("22")}}
            -

            概要

            -

            指定された機能が DOM 実装に含まれており、このノードでサポートされているかどうかをテストします。

            -

            構文

            -
            element.isSupported(feature, version)
            -
            -
            - feature
            -
            - テストする機能の名前。DOMImplementationhasFeature メソッドに渡される名前と同じです。コア DOM 仕様に定義された使用可能な値は、DOM Level 2 の Conformance セクション にリストがあります。
            -
            - version
            -
            - テストする機能のバージョン番号。DOM Level 2, version 1 では、この文字列は 2.0 になります。バージョンが指定されていなかったり、対象の機能がどのバージョンでもサポートされている場合は true を返します。
            -
            -

            -
            <div id="doc">
            -</div>
            -
            -<script>
            - // 要素を取得し、その要素が DOM2 HTML モジュールをサポートしているかどうかを確認します
            - var main = document.getElementById('doc');
            - var output = main.isSupported('HTML', '2.0');
            -</script>
            -
            -

            仕様

            - -

            Gecko に関する注記

            -
              -
            • Gecko 19.0 {{geckoRelease("19.0")}} 以降では、このメソッドは常に true を返します。また、このメソッドは Gecko 22.0 {{geckoRelease("22.0")}} で削除されています。
            • -
            diff --git a/files/ja/web/api/node/issupported/index.md b/files/ja/web/api/node/issupported/index.md new file mode 100644 index 0000000000..3b25dc254b --- /dev/null +++ b/files/ja/web/api/node/issupported/index.md @@ -0,0 +1,44 @@ +--- +title: Node.isSupported +slug: Web/API/Node/isSupported +tags: + - DOM + - DOM Element Methods + - Gecko + - Gecko DOM Reference +translation_of: Web/API/Node/isSupported +--- +
            + {{ApiRef}}{{obsolete_header("22")}}
            +

            概要

            +

            指定された機能が DOM 実装に含まれており、このノードでサポートされているかどうかをテストします。

            +

            構文

            +
            element.isSupported(feature, version)
            +
            +
            + feature
            +
            + テストする機能の名前。DOMImplementationhasFeature メソッドに渡される名前と同じです。コア DOM 仕様に定義された使用可能な値は、DOM Level 2 の Conformance セクション にリストがあります。
            +
            + version
            +
            + テストする機能のバージョン番号。DOM Level 2, version 1 では、この文字列は 2.0 になります。バージョンが指定されていなかったり、対象の機能がどのバージョンでもサポートされている場合は true を返します。
            +
            +

            +
            <div id="doc">
            +</div>
            +
            +<script>
            + // 要素を取得し、その要素が DOM2 HTML モジュールをサポートしているかどうかを確認します
            + var main = document.getElementById('doc');
            + var output = main.isSupported('HTML', '2.0');
            +</script>
            +
            +

            仕様

            + +

            Gecko に関する注記

            +
              +
            • Gecko 19.0 {{geckoRelease("19.0")}} 以降では、このメソッドは常に true を返します。また、このメソッドは Gecko 22.0 {{geckoRelease("22.0")}} で削除されています。
            • +
            diff --git a/files/ja/web/api/node/normalize/index.html b/files/ja/web/api/node/normalize/index.html deleted file mode 100644 index 83026ac378..0000000000 --- a/files/ja/web/api/node/normalize/index.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Node.normalize -slug: Web/API/Node/normalize -tags: - - DOM - - Gecko - - Node -translation_of: Web/API/Node/normalize ---- -
            {{ApiRef}}
            - -

            概要

            - -

            指定ノードの空のノードを削除し、隣接するテキストノードをひとつに纏め、文書を「正規化 (normalize)」します。

            - -

            構文

            - -
            element.normalize();
            -
            - -

            - -
            var wrapper = document.createElement("div");
            -
            -wrapper.appendChild( document.createTextNode("Part 1 ") );
            -wrapper.appendChild( document.createTextNode("Part 2 ") );
            -
            -// wrapper.childNodes[0].textContent === "Part 1 "
            -// wrapper.childNodes[1].textContent === "Part 2 "
            -// この時点で、wrapper の 子ノード数は 2 です。 wrapper.childNodes.length === 2
            -
            -wrapper.normalize(); // 正規化
            -
            -// 正規化後の wrapper の子ノード数は 1 となっています。 wrapper.childNodes.length === 1
            -// 挿入処理の為に冗長化したノードはひとつに纏められています。 wrapper.childNodes[0].textContent === "Part 1 Part 2"
            -
            - -

            仕様書

            - - - -

            関連情報

            - - diff --git a/files/ja/web/api/node/normalize/index.md b/files/ja/web/api/node/normalize/index.md new file mode 100644 index 0000000000..83026ac378 --- /dev/null +++ b/files/ja/web/api/node/normalize/index.md @@ -0,0 +1,48 @@ +--- +title: Node.normalize +slug: Web/API/Node/normalize +tags: + - DOM + - Gecko + - Node +translation_of: Web/API/Node/normalize +--- +
            {{ApiRef}}
            + +

            概要

            + +

            指定ノードの空のノードを削除し、隣接するテキストノードをひとつに纏め、文書を「正規化 (normalize)」します。

            + +

            構文

            + +
            element.normalize();
            +
            + +

            + +
            var wrapper = document.createElement("div");
            +
            +wrapper.appendChild( document.createTextNode("Part 1 ") );
            +wrapper.appendChild( document.createTextNode("Part 2 ") );
            +
            +// wrapper.childNodes[0].textContent === "Part 1 "
            +// wrapper.childNodes[1].textContent === "Part 2 "
            +// この時点で、wrapper の 子ノード数は 2 です。 wrapper.childNodes.length === 2
            +
            +wrapper.normalize(); // 正規化
            +
            +// 正規化後の wrapper の子ノード数は 1 となっています。 wrapper.childNodes.length === 1
            +// 挿入処理の為に冗長化したノードはひとつに纏められています。 wrapper.childNodes[0].textContent === "Part 1 Part 2"
            +
            + +

            仕様書

            + + + +

            関連情報

            + + diff --git a/files/ja/web/api/node/removechild/index.html b/files/ja/web/api/node/removechild/index.html deleted file mode 100644 index ff64604414..0000000000 --- a/files/ja/web/api/node/removechild/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Node.removeChild -slug: Web/API/Node/removeChild -tags: - - DOM - - Gecko - - Node -translation_of: Web/API/Node/removeChild ---- -

            Node.removeChild() メソッドは、 DOM から子ノードを取り除きます。取り除いたノードを返します。

            - -

            構文

            - -
            var oldChild = node.removeChild(child);
            -または
            -node.removeChild(child);
            -
            - -
              -
            • child は DOM から取り除く、子ノードです。
            • -
            • nodechild の親ノードです。
            • -
            • oldChild は 取り除かれた子ノードへの参照を保持します。 oldChild === child です。
            • -
            - -

            取り除かれた子ノードはメモリ内に残りますが、 DOM の一部ではなくなります。最初の構文にある通り、取り除いたノードは、 oldChild オブジェクト参照を通じて、後でコード中で再利用することができます。

            - -

            しかし、第二の構文では oldChild の参照が保持されないので、コードが他の場所でノードへの参照を持っていなければ、直ちに使用できなくなり、無関係になり、ふつうはまもなくメモリから 自動的に削除されます。

            - -

            child が実際には element ノードの子ではない場合、このメソッドは例外を発生します。これは child が呼び出し時には実際に element の子であったものの、要素を取り除こうと呼び出されたイベントハンドラーによって削除された場合にも発生します。

            - -

            このメソッドでは、2つの異なる方法で例外が発生します。

            - -
              -
            1. -

              child が実際に element の子であり、 DOM 上に存在していたが削除された場合、このメソッドでは次の例外が発生します。

              - -

              Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

              -
            2. -
            3. -

              child がページの DOM 上に存在しない場合、このメソッドでは次の例外が発生します。
              -
              - Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.

              -
            4. -
            - -

            - -
            <!-- 対象とする HTML のコード -->
            -<div id="top" > </div>
            -
            -<script type="text/javascript">
            -      var top = document.getElementById("top");
            -      var nested = document.getElementById("nested");
            -
            -      var garbage = top.removeChild(nested);    //Test Case 2: the method throws the exception (2)
            -
            -</script>
            -
            -<!--Sample HTML code-->
            -<div id="top">
            - <div id="nested"></div>
            -</div>
            -
            -<script type="text/javascript">
            -      var top = document.getElementById("top");
            -      var nested = document.getElementById("nested");
            -
            -      var garbage = top.removeChild(nested); // This first call remove correctly the node
            -
            -      // ......
            -      garbage = top.removeChild(nested);   // Test Case 1: the method in the second call here, throws the exception (1)
            -
            -</script>
            -
            -
            - -
            <!--Sample HTML code-->
            -
            -<div id="top">
            -  <div id="nested"></div>
            -</div>
            -
            - -
            // 親ノードから指定した子要素を除去
            -var d = document.getElementById("top");
            -var d_nested = document.getElementById("nested");
            -var throwawayNode = d.removeChild(d_nested);
            -
            - -
            // 親要素が不明、不定の場合の方法
            -var node = document.getElementById("nested");
            -if (node.parentNode) {
            -  node.parentNode.removeChild(node);
            -}
            -
            - -
            // 要素の全ての子を除去
            -var element = document.getElementById("top");
            -while (element.firstChild) {
            -  element.removeChild(element.firstChild);
            -}
            -
            - -

            仕様書

            - - - -

            ブラウザーの対応

            - -

            {{Compat("api.Node.removeChild")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.replaceChild")}}
            • -
            • {{domxref("Node.parentNode")}}
            • -
            • {{domxref("ChildNode.remove")}}
            • -
            - -
            {{APIRef("DOM")}}
            diff --git a/files/ja/web/api/node/removechild/index.md b/files/ja/web/api/node/removechild/index.md new file mode 100644 index 0000000000..ff64604414 --- /dev/null +++ b/files/ja/web/api/node/removechild/index.md @@ -0,0 +1,124 @@ +--- +title: Node.removeChild +slug: Web/API/Node/removeChild +tags: + - DOM + - Gecko + - Node +translation_of: Web/API/Node/removeChild +--- +

            Node.removeChild() メソッドは、 DOM から子ノードを取り除きます。取り除いたノードを返します。

            + +

            構文

            + +
            var oldChild = node.removeChild(child);
            +または
            +node.removeChild(child);
            +
            + +
              +
            • child は DOM から取り除く、子ノードです。
            • +
            • nodechild の親ノードです。
            • +
            • oldChild は 取り除かれた子ノードへの参照を保持します。 oldChild === child です。
            • +
            + +

            取り除かれた子ノードはメモリ内に残りますが、 DOM の一部ではなくなります。最初の構文にある通り、取り除いたノードは、 oldChild オブジェクト参照を通じて、後でコード中で再利用することができます。

            + +

            しかし、第二の構文では oldChild の参照が保持されないので、コードが他の場所でノードへの参照を持っていなければ、直ちに使用できなくなり、無関係になり、ふつうはまもなくメモリから 自動的に削除されます。

            + +

            child が実際には element ノードの子ではない場合、このメソッドは例外を発生します。これは child が呼び出し時には実際に element の子であったものの、要素を取り除こうと呼び出されたイベントハンドラーによって削除された場合にも発生します。

            + +

            このメソッドでは、2つの異なる方法で例外が発生します。

            + +
              +
            1. +

              child が実際に element の子であり、 DOM 上に存在していたが削除された場合、このメソッドでは次の例外が発生します。

              + +

              Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

              +
            2. +
            3. +

              child がページの DOM 上に存在しない場合、このメソッドでは次の例外が発生します。
              +
              + Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.

              +
            4. +
            + +

            + +
            <!-- 対象とする HTML のコード -->
            +<div id="top" > </div>
            +
            +<script type="text/javascript">
            +      var top = document.getElementById("top");
            +      var nested = document.getElementById("nested");
            +
            +      var garbage = top.removeChild(nested);    //Test Case 2: the method throws the exception (2)
            +
            +</script>
            +
            +<!--Sample HTML code-->
            +<div id="top">
            + <div id="nested"></div>
            +</div>
            +
            +<script type="text/javascript">
            +      var top = document.getElementById("top");
            +      var nested = document.getElementById("nested");
            +
            +      var garbage = top.removeChild(nested); // This first call remove correctly the node
            +
            +      // ......
            +      garbage = top.removeChild(nested);   // Test Case 1: the method in the second call here, throws the exception (1)
            +
            +</script>
            +
            +
            + +
            <!--Sample HTML code-->
            +
            +<div id="top">
            +  <div id="nested"></div>
            +</div>
            +
            + +
            // 親ノードから指定した子要素を除去
            +var d = document.getElementById("top");
            +var d_nested = document.getElementById("nested");
            +var throwawayNode = d.removeChild(d_nested);
            +
            + +
            // 親要素が不明、不定の場合の方法
            +var node = document.getElementById("nested");
            +if (node.parentNode) {
            +  node.parentNode.removeChild(node);
            +}
            +
            + +
            // 要素の全ての子を除去
            +var element = document.getElementById("top");
            +while (element.firstChild) {
            +  element.removeChild(element.firstChild);
            +}
            +
            + +

            仕様書

            + + + +

            ブラウザーの対応

            + +

            {{Compat("api.Node.removeChild")}}

            + +

            関連情報

            + +
              +
            • {{domxref("Node.replaceChild")}}
            • +
            • {{domxref("Node.parentNode")}}
            • +
            • {{domxref("ChildNode.remove")}}
            • +
            + +
            {{APIRef("DOM")}}
            diff --git a/files/ja/web/api/node/replacechild/index.html b/files/ja/web/api/node/replacechild/index.html deleted file mode 100644 index 2c69ea2114..0000000000 --- a/files/ja/web/api/node/replacechild/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Node.replaceChild -slug: Web/API/Node/replaceChild -tags: - - API - - DOM - - Method - - Node - - Reference -translation_of: Web/API/Node/replaceChild ---- -
            {{ApiRef("DOM")}}
            - -

            Node.replaceChild() メソッドは指定ノードの子ノードを別のノードに置き換えます。

            - -

            構文

            - -
            replacedNode = parentNode.replaceChild(newChild, oldChild);
            -
            - -
              -
            • newChild : oldChild を置き換える新しいノード(既存のノードは先に取り除かれます)
            • -
            • oldChild : 置き換えられる既存ノード
            • -
            • replacedNode : 置き換えられたノード(oldChild と同じノード)
            • -
            - -

            - -
            // <div>
            -//  <span id="childSpan">foo bar</span>
            -// </div>
            -
            -// ID も属性も内容も持たない空要素を生成
            -var sp1 = document.createElement("span");
            -
            -// 生成したノードに id 属性 'newSpan' を付与
            -sp1.setAttribute("id", "newSpan");
            -
            -// テキストノードを生成
            -var sp1_content = document.createTextNode("新しい span 要素");
            -
            -// 生成したテキストノードを先の空要素の子ノードとして配置
            -sp1.appendChild(sp1_content);
            -
            -// 置換に先んじ、参照を代入
            -var sp2 = document.getElementById("childSpan"); // 既存の置換対象ノード
            -var parentDiv = sp2.parentNode; // 置換対象ノードの親要素
            -
            -// 既存ノード "sp2" を 生成済の新しい span 要素 "sp1" と置換
            -parentDiv.replaceChild(sp1, sp2);
            -
            -
            -// 上記コード実行後のノードは以下の様になります:
            -// <div>
            -//   <span id="newSpan">新しい span 要素</span>
            -// </div>
            -
            - -

            仕様書

            - - - -

            ブラウザ実装状況

            - -

            {{Compat("api.Node.replaceChild")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.removeChild")}}
            • -
            diff --git a/files/ja/web/api/node/replacechild/index.md b/files/ja/web/api/node/replacechild/index.md new file mode 100644 index 0000000000..2c69ea2114 --- /dev/null +++ b/files/ja/web/api/node/replacechild/index.md @@ -0,0 +1,75 @@ +--- +title: Node.replaceChild +slug: Web/API/Node/replaceChild +tags: + - API + - DOM + - Method + - Node + - Reference +translation_of: Web/API/Node/replaceChild +--- +
            {{ApiRef("DOM")}}
            + +

            Node.replaceChild() メソッドは指定ノードの子ノードを別のノードに置き換えます。

            + +

            構文

            + +
            replacedNode = parentNode.replaceChild(newChild, oldChild);
            +
            + +
              +
            • newChild : oldChild を置き換える新しいノード(既存のノードは先に取り除かれます)
            • +
            • oldChild : 置き換えられる既存ノード
            • +
            • replacedNode : 置き換えられたノード(oldChild と同じノード)
            • +
            + +

            + +
            // <div>
            +//  <span id="childSpan">foo bar</span>
            +// </div>
            +
            +// ID も属性も内容も持たない空要素を生成
            +var sp1 = document.createElement("span");
            +
            +// 生成したノードに id 属性 'newSpan' を付与
            +sp1.setAttribute("id", "newSpan");
            +
            +// テキストノードを生成
            +var sp1_content = document.createTextNode("新しい span 要素");
            +
            +// 生成したテキストノードを先の空要素の子ノードとして配置
            +sp1.appendChild(sp1_content);
            +
            +// 置換に先んじ、参照を代入
            +var sp2 = document.getElementById("childSpan"); // 既存の置換対象ノード
            +var parentDiv = sp2.parentNode; // 置換対象ノードの親要素
            +
            +// 既存ノード "sp2" を 生成済の新しい span 要素 "sp1" と置換
            +parentDiv.replaceChild(sp1, sp2);
            +
            +
            +// 上記コード実行後のノードは以下の様になります:
            +// <div>
            +//   <span id="newSpan">新しい span 要素</span>
            +// </div>
            +
            + +

            仕様書

            + + + +

            ブラウザ実装状況

            + +

            {{Compat("api.Node.replaceChild")}}

            + +

            関連情報

            + +
              +
            • {{domxref("Node.removeChild")}}
            • +
            -- cgit v1.2.3-54-g00ecf From 1649dce744ae7836e6de49971f365cc8e2bbd8f6 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 14:34:15 +0900 Subject: 2022/01/18 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/appendchild/index.md | 135 +++++++++++++---------------- 1 file changed, 60 insertions(+), 75 deletions(-) diff --git a/files/ja/web/api/node/appendchild/index.md b/files/ja/web/api/node/appendchild/index.md index 3242491906..6abebeaac4 100644 --- a/files/ja/web/api/node/appendchild/index.md +++ b/files/ja/web/api/node/appendchild/index.md @@ -1,97 +1,82 @@ --- -title: Node.appendChild +title: Node.appendChild() slug: Web/API/Node/appendChild tags: - - API - - DOM - - Method - - Node - - Reference + - メソッド + - リファレンス +browser-compat: api.Node.appendChild translation_of: Web/API/Node/appendChild --- -
            {{APIRef("DOM")}}
            +{{APIRef("DOM")}} -

            Node.appendChild() メソッドは、特定の親ノードの子ノードリストの末尾にノードを追加します。追加しようとしたノードが既に存在していたら、それは現在の親ノードから除かれ、新しい親ノードに追加されます(他のノードに追加する前にそのノードを親ノードから削除する必要はありません)。

            +**`appendChild()`** は {{domxref("Node")}} インターフェイスのメソッドで、指定された親ノードの子ノードリストの末尾にノードを追加します。追加しようとしたノードが既に存在していた場合は、 `appendChild()` はその子ノードを現在の位置から新しい位置へ移動します(他のノードに追加する前に、そのノードを親ノードから取り除く必要はありません)。 -

            これは、ノードが同時にドキュメントの 2 箇所に存在できないということを意味します。ノードがすでに親を持っている場合、最初にノードが削除された後、新しい位置の末尾に追加されます。{{domxref("Node.cloneNode()")}} は、新しい親の末尾に追加する前に、ノードのコピーを作成するために使用できます。cloneNode で作成したコピーは自動的に同期を保たないことに注意してください。

            +これは、 1 つのノードが同時に文書の 2 か所に存在できないということです。したがって、すでにノードに親がある場合、最初にノードが取り除かれた後、新しい位置に追加されます。 +{{domxref("Node.cloneNode()")}} メソッドを使用すると、新しい親ノード以下に追加する前に、ノードのコピーを作成することができます。 +`cloneNode` で作成したコピーは自動的に同期されません。 -

            このメソッドでは、異なるドキュメント間でノードを移動することはできません。異なるドキュメントからノードを末尾に追加したい場合は、{{domxref("document.importNode()")}} メソッドを使用する必要があります。

            +指定された子ノードが {{domxref("DocumentFragment")}} であった場合、その +{{domxref("DocumentFragment")}} の内容全体が指定された親ノードの子ノードリストに移動します。 -

            構文

            +> **Note:** このメソッドとは異なり、 {{domxref("Element.append()")}} メソッドは複数の引数や文字列の追加に対応しています。ノードが要素であった場合は、こちらを使用することができます。 -
            var aChild = element.appendChild(aChild);
            +`appendChild()` は子要素を返すので、メソッドチェーンは動作しません。 -

            引数

            +```js +let aBlock = document.createElement('block').appendChild( document.createElement('b') ); +``` -

            aChild

            +`aBlock` に `` を追加するだけですが、 `block` に対して複数の `appendChild` を連鎖させるなど、それ以外の操作を連鎖せることはできません。 -

            親ノードに追加する子ノード(要素)

            +## 構文 -

            戻り値

            +```js +appendChild(aChild); +``` -

            追加した子ノードです。ただし、{{domxref("DocumentFragment")}}を引数にした場合は、空の{{domxref("DocumentFragment")}}が戻ります。

            +### 引数 -

            注意

            +- `aChild` + - : 指定された親ノードに追加するノード(ふつうは要素)。 -

            appendChild() が子要素を返すため、メソッドチェーンが期待通りに動きません。:

            +### 返値 -
            var aBlock = doc.createElement('block').appendChild(doc.createElement('b'));
            +{{domxref("Node")}} で追加された子ノード (`aChild`) を返します。 +ただし、 `aChild` が {{domxref("DocumentFragment")}} であった場合は、空の {{domxref("DocumentFragment")}} を返します。 -

            aBlock に <b></b> を与えただけでは期待通りに動きません。

            +### 例外 -

            +- `HierarchyRequestError` {{domxref("DOMException")}} + - : DOM ツリーの制約に違反した場合に発生します。すなわち、以下のいずれかが発生する場合です。 + - `aChild` の親が {{domxref("Document")}}, {{domxref("DocumentFragment")}}, {{domxref("Element")}} のいずれにもならない場合。 + - `aChild` を挿入すると循環参照になる場合。すなわち `aChild` がこのノードの祖先である場合。 + - `aChild` が {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Element")}}, {{domxref("CharacterData")}} のいずれでもない場合。 + - 現在のノードが {{domxref("Text")}} であり、親ノードが {{domxref("Document")}} になる場合。 + - 現在のノードが {{domxref("DocumentType")}} であり、その親が {{domxref("Document")}} にならない場合。 _doctype_ は常に _document_ の直下になければならないからです。 + - このノードの親が {{domxref("Document")}} で `aChild` が {{domxref("DocumentFragment")}} であり、複数の {{domxref("Element")}} の子、または {{domxref("Text")}} の子がある場合。 + -`aChild` を挿入すると {{domxref("Document")}} の子の {{domxref("Element")}} が複数になる場合。 -
            // 新しい段落要素を作成し、ドキュメントの body の最後に追加します。
            -var p = document.createElement("p");
            +## 例
            +
            +```js
            +// 新しい段落要素を作成し、文書の body の末尾に追加します。
            +let p = document.createElement("p");
             document.body.appendChild(p);
            -
            - -

            仕様

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-appendchild', 'Node.appendChild()')}}{{Spec2('DOM WHATWG')}}{{SpecName("DOM3 Core")}} から変更なし。
            {{SpecName('DOM3 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM3 Core')}}{{SpecName("DOM2 Core")}} から変更なし。
            {{SpecName('DOM2 Core', 'core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM2 Core')}}{{SpecName("DOM1")}} から変更なし。
            {{SpecName('DOM1', 'level-one-core.html#ID-184E7107', 'Node.appendChild()')}}{{Spec2('DOM1')}}初期定義。
            - -

            ブラウザー実装状況

            - -

            {{Compat("api.Node.appendChild")}}

            - -
            - -

            関連情報

            - -
              -
            • {{domxref("Node.removeChild()")}}
            • -
            • {{domxref("Node.replaceChild()")}}
            • -
            • {{domxref("Node.insertBefore()")}}
            • -
            • {{domxref("Node.hasChildNodes()")}}
            • -
            • {{domxref("ParentNode.append()")}}
            • -
            +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.removeChild()")}} +- {{domxref("Node.replaceChild()")}} +- {{domxref("Node.insertBefore()")}} +- {{domxref("Node.hasChildNodes()")}} +- {{domxref("Element.insertAdjacentElement()")}} +- {{domxref("Element.append()")}} -- cgit v1.2.3-54-g00ecf From 478de33ac5a748d403c77bed813546f57e53c05e Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 15:00:03 +0900 Subject: 2021/11/08 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/clonenode/index.md | 75 ++++++++++++++++---------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/files/ja/web/api/node/clonenode/index.md b/files/ja/web/api/node/clonenode/index.md index db00fc7a61..ff734aa6c0 100644 --- a/files/ja/web/api/node/clonenode/index.md +++ b/files/ja/web/api/node/clonenode/index.md @@ -1,62 +1,61 @@ --- title: Node.cloneNode() slug: Web/API/Node/cloneNode +tags: + - メソッド + - リファレンス +browser-compat: api.Node.cloneNode translation_of: Web/API/Node/cloneNode --- -
            {{ApiRef}}
            +{{APIRef("DOM")}} -

            概要

            +**`cloneNode()`** は {{domxref("Node")}} インターフェイスのメソッドで、このメソッドが呼び出されたノードの複製を返します。 +引数でノードに含まれるサブツリーを一緒に複製するかどうかを制御できます。 -

            現在のノードの複製を返します。

            +ノードを複製すると、固有(インライン)のリスナーを含む、ノードのすべての属性とその値が複製されます。 [`addEventListener()`](/ja/docs/Web/API/EventTarget/addEventListener) を使って追加されたイベントリスナーや、要素のプロパティに代入されたイベントリスナー(例: `node.onclick = someFunction`)は複製されません。さらに、 {{HTMLElement("canvas")}} 要素では、描画された画像は複製されません。 -

            構文

            +> **Warning:** `cloneNode()` を使用すると、文書内で要素の ID が重複する可能性があります。 +> +> 元のノードに `id` 属性があり、複製を同じ文書に配置する場合は、複製の ID が重複しないように変更してください。 +> +> また、 `name` 属性も重複した名前を使わない場面では、変更する必要があるかもしれません。 -
            var dupNode = node.cloneNode(deep);
            -
            +**異なる**文書にノードを複製する場合は、代わりに {{domxref("Document.importNode()")}} を使用してください。 -
            -
            node
            -
            複製するノード
            -
            dupNode
            -
            新しく生成される node の複製
            -
            deep {{optional_inline}}
            -
            node の子孫ノードも複製する場合は truenode のみを複製する場合は false -
            -

            注記: DOM4 の仕様では (Gecko 13.0 {{geckoRelease("13.0")}} で実装) 、 deep は省略可能な引数です。省略された場合、 deep には true が渡され、深い複製を生成します。浅い複製を生成するには、 deepfalse にする必要があります。

            +## 構文 -

            以前のDOMの仕様を実装しているブラウザでは、 deep は必須の引数です。

            -
            -
            -
            +```js +cloneNode(); +cloneNode(deep); +``` -

            +### 引数 -
            var p = document.getElementById("para1");
            -var p_prime = p.cloneNode(true);
            -
            +- `deep` {{optional_inline}} -

            注記

            + - : `true` の場合、ノードとそのサブツリーは、子ノードの {{domxref("Text")}} にあるテキストも含め複製されます。 -

            ノードを複製すると、そのノードのすべての属性とその値がコピーされます。つまり、HTML属性のイベントを含みます。addEventListener() を使用したものや、要素のプロパティに代入されたもの (例: node.onclick = fn;) は複製されません。

            + `false` の場合、このノードのみが複製されます。 + サブツリーは、そのノードに含まれているテキストも含め、複製されません。 -

            cloneNode によって返される複製ノードは、 {{domxref("Node.appendChild()")}} や同種のメソッドによってドキュメントの一部である他のノードに追加されるまでは、ドキュメントの一部ではありません。また、他のノードに追加されるまでは、親ノードを持ちません。

            + なお、 `deep` は {{HTMLElement("img")}} や {{HTMLElement("input")}} のような空要素には効果がありません。 -

            deepfalse に設定されていると、どの子ノードも複製されません。 そのため、そのノードに含まれる {{domxref("Text")}} ノードも複製されません。

            +### 返値 -

            deeptrue に評価できる場合、サブツリー全体 (子 {{domxref("Text")}} ノードにあるテキストを含む) もコピーされます。 {{HTMLElement("img")}} や {{HTMLElement("input")}} 要素などの空ノードの場合には deep を true と false のどちらに設定してもかまいません。

            +複製された {{domxref("Node")}} を返します。 +複製されたノードには、文書に所属する他のノードに {{domxref("Node.appendChild()")}} などを使用して追加されるまで、親ノードがなく、文書にも所属していません。 -
            注意: cloneNode() を使用すると、ドキュメント内で要素の id が重複する可能性があります。
            +## 例 -

            別のドキュメントに追加するためにノードを複製する場合は、代わりに {{domxref("Document.importNode()")}} を使用してください。

            +```js +let p = document.getElementById("para1") +let p_prime = p.cloneNode(true) +``` -

            ブラウザ実装状況

            +## 仕様書 -

            {{Compat("api.Node.cloneNode")}}

            +{{Specifications}} -

            仕様書

            +## ブラウザーの互換性 -
              -
            • {{Spec("http://w3.org/TR/DOM-Level-2-Core/core.html#ID-3A0ED0A4","DOM Level 2 Core: cloneNode","REC")}}
            • -
            • {{Spec("http://w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4","DOM Level 3 Core: cloneNode","REC")}}
            • -
            • DOM4: cloneNode (草案)
            • -
            +{{Compat}} -- cgit v1.2.3-54-g00ecf From 38a18236aca758a3c29963a8654ab7c5d84dd9ca Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 15:00:03 +0900 Subject: 2021/11/08 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/api/node/comparedocumentposition/index.md | 173 ++++++++------------ files/ja/web/api/node/contains/index.md | 88 +++++------ files/ja/web/api/node/isdefaultnamespace/index.md | 96 +++++++---- files/ja/web/api/node/isequalnode/index.md | 116 +++++++------- files/ja/web/api/node/issupported/index.md | 87 +++++----- files/ja/web/api/node/removechild/index.md | 175 +++++++++++---------- files/ja/web/api/node/replacechild/index.md | 113 +++++++------ 7 files changed, 429 insertions(+), 419 deletions(-) diff --git a/files/ja/web/api/node/comparedocumentposition/index.md b/files/ja/web/api/node/comparedocumentposition/index.md index 5865081c84..346dc65e73 100644 --- a/files/ja/web/api/node/comparedocumentposition/index.md +++ b/files/ja/web/api/node/comparedocumentposition/index.md @@ -1,118 +1,69 @@ --- -title: Node.compareDocumentPosition +title: Node.compareDocumentPosition() slug: Web/API/Node/compareDocumentPosition tags: - - DOM - - DOM Element Methods - - Gecko - - Gecko DOM Reference + - メソッド + - リファレンス +browser-compat: api.Node.compareDocumentPosition translation_of: Web/API/Node/compareDocumentPosition --- -
            {{ApiRef}}
            - -

            概要

            - -

            そのノードと別のノードの位置を比較し、結果となるビットマスクを返します。

            - -

            構文

            - -
            node.compareDocumentPosition( otherNode )
            -
            - -

            パラメーター

            - -
            -
            node
            -
            比較元ノード
            -
            otherNode
            -
            node と比較する別ノード
            -
            - -

            返り値

            - -

            呼び出し元の node と {{domxref("Document")}} 内の otherNode の関係を表すビットの整数値。複数の条件に適応する場合、1つ以上のビットがセットされることがあります。compareDocumentPosition() を呼び出した node と比較して、otherNode が 文書のより前にあり、かつ node を含んでいるならば、DOCUMENT_POSITION_CONTAINS と DOCUMENT_POSITION_PRECEDING のビットがセットされ、結果は0x0Aもしくは10進数の10になります。

            - -

            注記

            - -

            戻り値は以下の値を持つビットマスクの何れかとなります。

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            名称
            DOCUMENT_POSITION_DISCONNECTED1
            DOCUMENT_POSITION_PRECEDING2
            DOCUMENT_POSITION_FOLLOWING4
            DOCUMENT_POSITION_CONTAINS8
            DOCUMENT_POSITION_CONTAINED_BY16
            DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC32
            - -

            - -
            var head = document.getElementsByTagName('head').item(0);
            -
            -if ( head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING ) {
            -  console.log("head 要素は body 要素より前に記述されています。");
            +{{APIRef("DOM")}}
            +
            +**`compareDocumentPosition()`** は {{domxref("Node")}} インターフェイスのメソッドで、引数のノードの位置を、呼び出されたノードからの相対位置で報告します。
            +
            +## 構文
            +
            +```js
            +compareDocumentPosition(otherNode);
            +```
            +
            +### 引数
            +
            +- `otherNode`
            +  - : {{domxref("Node")}} で、このノードとの相対位置を報告するノードを指定します。
            +
            +### 返値
            +
            +整数値で、 `otherNode` の `node` から見た相対位置を、以下の {{domxref("Node")}} の定数プロパティを組み合わせた[ビットマスク]()で表します。
            +
            +- `Node.DOCUMENT_POSITION_DISCONNECTED` (`1`)
            +  - : 両方のノードが、異なる文書、または同じ文書の異なるツリーにあります。
            +- `Node.DOCUMENT_POSITION_PRECEDING` (`2`)
            +  - : `otherNode` はこのノードより、両者を含むツリーの[前順深さ優先走査](https://ja.wikipedia.org/wiki/木構造_(データ構造)#深さ優先探索)で前にある(祖先ノード、前にある兄弟ノード、前にある兄弟ノードの子孫ノード、祖先ノードの前にある兄弟ノードなど)か、(接続されていないのであれば)任意だが一貫した順序で、そのノードよりも前に位置します。
            +- `Node.DOCUMENT_POSITION_FOLLOWING` (`4`)
            +  - : `otherNode` はこのノードより、両者を含むツリーの[前順深さ優先走査](https://ja.wikipedia.org/wiki/木構造_(データ構造)#深さ優先探索)で後にある(子孫ノード、後にある兄弟ノード、後にある兄弟ノードの子孫ノード、祖先ノードの後にある兄弟ノードなど)か、(接続されていないのであれば)任意だが一貫した順序で、そのノードよりも後に位置します。
            +- `Node.DOCUMENT_POSITION_CONTAINS` (`8`)
            +  - : `otherNode` はこのノードの祖先ノードです。
            +- `Node.DOCUMENT_POSITION_CONTAINED_BY` (`16`)
            +  - : `otherNode` はこのノードの子孫ノードです。
            +- `Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC` (`32`)
            +  - : その結果は、任意や実装固有の動作に依存し、移植性は保証されません。
            +
            +複数の条件に適合する場合、複数のビットが設定されることがあります。例えば、 `otherNode` が文書中でより先にあり、**_かつ_** `compareDocumentPosition()` が呼び出されたノードを含んでいれば、 `DOCUMENT_POSITION_CONTAINS` と `DOCUMENT_POSITION_PRECEDING` の両ビットが設定され、 `10` (`0x0A`) という値になります。
            +
            +## 例
            +
            +```js
            +const head = document.head;
            +const body = document.body;
            +
            +if (head.compareDocumentPosition(body) & Node.DOCUMENT_POSITION_FOLLOWING) {
            +  console.log('正しい形式の文書です');
             } else {
            -  console.log("head 要素は body 要素の前に配置しなくてはなりません。");
            +  console.error(' が  の前にありません');
             }
            -
            - -
            -

            注記: compareDocumentPosition の戻り値はビットマスクです。よって、有意な結果を得るには ビット演算子の "&" を用いなくてはならない点に注意して下さい。

            -
            - -

            仕様

            - - - - - - - - - - - - - - - - - - - - - -
            仕様書策定状況コメント
            DOM Level 3Recommendation
            DOM StandardLiving standard
            - -

            関連情報

            - - +``` + +> **Note:** `compareDocumentPosition()` の返値はビットマスクですので、意味のある結果を得るには[ビット AND 演算子](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_AND)を使用する必要があります。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{DOMxRef("Node.contains()")}} diff --git a/files/ja/web/api/node/contains/index.md b/files/ja/web/api/node/contains/index.md index 2947ce92d1..6bcb67f897 100644 --- a/files/ja/web/api/node/contains/index.md +++ b/files/ja/web/api/node/contains/index.md @@ -1,56 +1,56 @@ --- -title: Node.contains +title: Node.contains() slug: Web/API/Node/contains tags: - - API - - DOM - - Method - - Node + - メソッド + - リファレンス +browser-compat: api.Node.contains translation_of: Web/API/Node/contains --- -
            {{APIRef("DOM")}}
            +{{APIRef("DOM")}} -

            Node.contains メソッドは指定ノードの子孫ノードに特定の子ノード(※自身も含む)が含まれるかどうかを示す真偽値を返します。

            +**`contains()`** は {{domxref("Node")}} インターフェイスのメソッドで、あるノードが指定されたノードの子孫であるか、すなわち、このノード自体であるか、直接の子ノード ({{domxref("Node.childNodes", "childNodes")}}) の何れかであるか、直接の子ノードの子ノードの何れかであるか(以下同様)を示す論理値を返します。 -

            構文

            +> **Note:** ノードは自分自身に**含まれます**。 -
            node.contains( otherNode )
            -
            +## 構文 -

            +```js +contains(otherNode); +``` -

            この関数は、ある要素がそのページの body 要素に含まれるかどうかをチェックするものです。contains は包括的かつ決定的であるため、body がそれ自身を含むかどうかは isInPage の意図ではないため明示的に false を返します。

            +### 引数 -
            function isInPage(node) {
            +- `otherNode`
            +  - : 検査する {{domxref("Node")}} です。
            +    > **Note:** `otherNode` は省略できませんが、 `null` に設定することはできます。
            +
            +### 返値
            +
            +論理値で、 `true` は `otherNode` がそのノードに含まれていることを表します。
            +そうでなければ `false` になります。
            +
            +`otherNode` 引数が `null` であれば、 `contains()` は常に `false` になります。
            +
            +## 例
            +
            +この関数は、ある要素がそのページの body 要素に含まれるかどうかを検査するものです。 `contains` は包括的かつ決定的であるため、 body がそれ自身を含むかどうかは `isInPage` の意図するところではないため、明示的に `false` を返します。
            +
            +```js
            +function isInPage(node) {
               return (node === document.body) ? false : document.body.contains(node);
            -}
            - -

            仕様

            - - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName("DOM WHATWG", "#dom-node-contains", "Node.contains()")}}{{Spec2("DOM WHATWG")}}Initial definition
            - -

            ブラウザ実装状況

            - -

            {{Compat("api.Node.contains")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.compareDocumentPosition")}}
            • -
            • {{domxref("Node.hasChildNodes")}}
            • -
            +} +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.compareDocumentPosition")}} +- {{domxref("Node.hasChildNodes")}} diff --git a/files/ja/web/api/node/isdefaultnamespace/index.md b/files/ja/web/api/node/isdefaultnamespace/index.md index 018e6562cc..44f1b3acec 100644 --- a/files/ja/web/api/node/isdefaultnamespace/index.md +++ b/files/ja/web/api/node/isdefaultnamespace/index.md @@ -1,35 +1,71 @@ --- -title: Node.isDefaultNamespace +title: Node.isDefaultNamespace() slug: Web/API/Node/isDefaultNamespace tags: - - DOM - - Gecko DOM Reference - - Namespaces - - Node + - メソッド + - リファレンス +browser-compat: api.Node.isDefaultNamespace translation_of: Web/API/Node/isDefaultNamespace --- -
            - {{ApiRef}}
            -

            概要

            -

            isDefaultNamespace は、引数としてネームスペース URI を受け取り、ネームスペースが指定されたノードのデフォルトのネームスペースである場合に true を返します。そうでない場合は false を返します。

            -

            構文

            -
            result = node.isDefaultNamespace(namespaceURI)
            -
            -
              -
            • result : 戻り値は真偽値 (true / false) となる
            • -
            • namespaceURI : 要素に対してチェックする、名前空間を表す文字列
            • -
            -

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

            仕様書

            - -

            関連情報

            - +{{APIRef("DOM")}} + +**`isDefaultNamespace()`** は {{domxref("Node")}} インターフェイスのメソッドで、名前空間 URI を引数として受け取ります。 +その名前空間がこのノードの既定の名前空間である場合は `true` を返し、そうでない場合は `false` を返します。 + +> **Note:** 既定の名前空間は、 HTML 要素では常に `""` です。 SVG 要素では、 `xmlns` 属性で設定されます。 + +## 構文 + +```js +isDefaultNamespace(namespaceURI); +``` + +### 引数 + +- `namespaceURI` + - : 要素の検査対象となる名前空間を表す文字列です。 + > **Note:** `namespaceURI` は省略可能ではありませんが、 `null` に設定することはできます。 + +### 返値 + +`true` または `false` の値を持つ論理値で、引数が既定の名前空間であるかどうかを示します。 + +## 例 + +```html +"" が <output> の既定の名前空間であるか: 未検査
            +"http://www.w3.org/2000/svg" が <output> の既定の名前空間であるか: 未検査
            +"" が <svg> の既定の名前空間であるか: 未検査
            +"http://www.w3.org/2000/svg" が <svg> の既定の名前空間であるか: 未検査
            + + +``` + +```js +const button = document.getElementsByTagName('button')[0]; +button.addEventListener("click", function () { + const aHtmlElt = document.getElementsByTagName('output')[0]; + const aSvgElt = document.getElementsByTagName('svg')[0]; + + const result = document.getElementsByTagName('output'); + result[0].value = aHtmlElt.isDefaultNamespace(""); // true + result[1].value = aHtmlElt.isDefaultNamespace("http://www.w3.org/2000/svg"); // false + result[2].value = aSvgElt.isDefaultNamespace(""); // true + result[3].value = aSvgElt.isDefaultNamespace("http://www.w3.org/2000/svg"); // false +}); +``` + +{{ EmbedLiveSample('Example','100%',130) }} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.lookupNamespaceURI")}} +- {{domxref("Node.lookupPrefix")}} diff --git a/files/ja/web/api/node/isequalnode/index.md b/files/ja/web/api/node/isequalnode/index.md index 3eced87fe0..b4c71cc44a 100644 --- a/files/ja/web/api/node/isequalnode/index.md +++ b/files/ja/web/api/node/isequalnode/index.md @@ -1,90 +1,82 @@ --- -title: Node.isEqualNode +title: Node.isEqualNode() slug: Web/API/Node/isEqualNode +tags: + - メソッド + - リファレンス +browser-compat: api.Node.isEqualNode translation_of: Web/API/Node/isEqualNode --- -
            {{ApiRef}}
            +{{APIRef("DOM")}} -

            概要

            +**`isEqualNode()`** は {{domxref("Node")}} インターフェイスのメソッドで、 2 つのノードが等しいかどうかを検査します。 +2 つのノードは、同じ型、定義特性(要素の場合、 ID や子ノードの数など)、その属性が一致している場合、等しいといえます。データで一致が求められる具体的な点は、ノードの型によって異なります。 -

            Node.isEqualNode()は2つのノードが同値かどうかをテストします。それぞれのノードが同じ型で、同じ特性(要素であればIDや子要素の数など)、属性値などを持つ場合、同値と判定されます。比較される内容はノードの型によって異なります。

            +## 構文 -

            構文

            +```js +isEqualNode(otherNode); +``` -
            var isEqualNode = node.isEqualNode(otherNode);
            -
            +### 引数 -
              -
            • otherNode : 同値性を比較する対象の {{domxref("Node")}}
            • -
            +- `otherNode` + - : 比較対象となる {{domxref("Node")}} です。 + > **Note:** この引数は省略可能ではありませんが、 `null` に設定することはできます。 -

            +### 返値 -

            3つの {{HTMLElement("div")}} ブロックを作成する例を示します。1つめと3つめは同じ内容と属性を持ち、2番目は異なっています。このとき、isEqualNode() を使ってJavaScriptでノードを比較した結果は以下のようになります。

            +論理値で、 2 つのノードが等しければ `true`、そうでなければ `false` です。 +`otherNode` が `null` であった場合、 `isEqualNode()` は常に false を返します。 -

            HTML

            +## 例 -
            <div>最初の要素です。</div>
            -<div>2番目の要素です。</div>
            -<div>最初の要素です。</div>
            +この例では、 3 つの {{HTMLElement("div")}} ブロックを作成しています。 1 つ目と 3 つ目は内容と属性が同じであり、 2 つ目は異なっています。このとき、`isEqualNode()` を使って JavaScript でノードを比較した結果は以下のようになります。
             
            -<p id="output"></p>
            +### HTML - +

            +``` -

            JavaScript

            +```css hidden +#output { + width: 440px; + border: 2px solid black; + border-radius: 5px; + padding: 10px; + margin-top: 20px; + display: block; +} +``` -
            let output = document.getElementById("output");
            -let divList  = document.getElementsByTagName("div");
            -
            -output.innerHTML += "div 0 と div 0 は同じか: " + divList[0].isEqualNode(divList[0]) + "<br/>";
            -output.innerHTML += "div 0 と div 1 は同じか: " + divList[0].isEqualNode(divList[1]) + "<br/>";
            -output.innerHTML += "div 0 と div 2 は同じか: " + divList[0].isEqualNode(divList[2]) + "<br/>";
            +### JavaScript -

            Results

            - -

            {{ EmbedLiveSample('Example', 480) }}

            +```js +let output = document.getElementById("output"); +let divList = document.getElementsByTagName("div"); -

            -

            仕様

            +output.innerHTML += "div 0 と div 0 は同じか: " + divList[0].isEqualNode(divList[0]) + "
            "; +output.innerHTML += "div 0 と div 1 は同じか: " + divList[0].isEqualNode(divList[1]) + "
            "; +output.innerHTML += "div 0 と div 2 は同じか: " + divList[0].isEqualNode(divList[2]) + "
            "; +``` +### 結果 - - - - - - - - - - - - - - - -
            仕様ステータスコメント
            {{SpecName('DOM WHATWG', '#dom-node-isequalnode', 'Node.isEqualNode')}}{{Spec2('DOM WHATWG')}}
            +{{ EmbedLiveSample('Example', "100%", "210") }} -

            ブラウザー互換性

            +## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -

            {{Compat("api.Node.isEqualNode")}}

            +{{Compat}} -

            参考

            +## 関連情報 -
              -
            • {{domxref("Node.isSameNode()")}}
            • -
            +- {{domxref("Node.isSameNode()")}} diff --git a/files/ja/web/api/node/issupported/index.md b/files/ja/web/api/node/issupported/index.md index 3b25dc254b..db0b3935ee 100644 --- a/files/ja/web/api/node/issupported/index.md +++ b/files/ja/web/api/node/issupported/index.md @@ -1,44 +1,53 @@ --- -title: Node.isSupported +title: Node.isSupported() slug: Web/API/Node/isSupported tags: - - DOM - - DOM Element Methods - - Gecko - - Gecko DOM Reference + - メソッド + - 非推奨 + - リファレンス +browser-compat: api.Node.isSupported translation_of: Web/API/Node/isSupported --- -
            - {{ApiRef}}{{obsolete_header("22")}}
            -

            概要

            -

            指定された機能が DOM 実装に含まれており、このノードでサポートされているかどうかをテストします。

            -

            構文

            -
            element.isSupported(feature, version)
            -
            -
            - feature
            -
            - テストする機能の名前。DOMImplementationhasFeature メソッドに渡される名前と同じです。コア DOM 仕様に定義された使用可能な値は、DOM Level 2 の Conformance セクション にリストがあります。
            -
            - version
            -
            - テストする機能のバージョン番号。DOM Level 2, version 1 では、この文字列は 2.0 になります。バージョンが指定されていなかったり、対象の機能がどのバージョンでもサポートされている場合は true を返します。
            -
            -

            -
            <div id="doc">
            -</div>
            -
            -<script>
            - // 要素を取得し、その要素が DOM2 HTML モジュールをサポートしているかどうかを確認します
            - var main = document.getElementById('doc');
            - var output = main.isSupported('HTML', '2.0');
            -</script>
            -
            -

            仕様

            - -

            Gecko に関する注記

            -
              -
            • Gecko 19.0 {{geckoRelease("19.0")}} 以降では、このメソッドは常に true を返します。また、このメソッドは Gecko 22.0 {{geckoRelease("22.0")}} で削除されています。
            • -
            +{{APIRef("DOM")}}{{deprecated_header}} + +**`isSupported()`** は {{domxref("Node")}} インターフェイスのメソッドで、この DOM の実装が指定された機能を実装しており、このノードがこの機能に対応しているかどうかを検査した結果を論理値で返します。 + +## 構文 + +```js +isSupported(feature, version); +``` + +### 引数 + +- `feature` + - : 文字列で、検査する機能の名前を指定します。 + これは [DOMImplementation](/ja/docs/Web/API/Document/implementation) の `hasFeature` メソッドに渡すものと同じ名前です。有効な値については、 [Conformance の章](https://www.w3.org/TR/DOM-Level-2-Core/introduction.html#ID-Conformance)にあります。 +- `version` + - : 文字列で、検査する機能のバージョン番号を指定します。 + DOM Level 2 第 1 版では、これは `2.0` という文字列です。このバージョンが指定されなかった場合、何れかの版のメソッドが対応していれば、このメソッドは true を返します。 + +## 例 + +```html +
            +
            + + +``` + +## 仕様書 + +この機能は仕様書に含まれていません。標準化路線から外れました。 + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.isEqualNode()")}} diff --git a/files/ja/web/api/node/removechild/index.md b/files/ja/web/api/node/removechild/index.md index ff64604414..335eea5b85 100644 --- a/files/ja/web/api/node/removechild/index.md +++ b/files/ja/web/api/node/removechild/index.md @@ -1,124 +1,125 @@ --- -title: Node.removeChild +title: Node.removeChild() slug: Web/API/Node/removeChild tags: - - DOM - - Gecko - - Node + - メソッド + - リファレンス +browser-compat: api.Node.removeChild translation_of: Web/API/Node/removeChild --- -

            Node.removeChild() メソッドは、 DOM から子ノードを取り除きます。取り除いたノードを返します。

            +{{APIRef("DOM")}} -

            構文

            +**`removeChild()`** は {{domxref("Node")}} インターフェイスのメソッドで、子ノードを DOM から取り除き、取り除いたノードを返します。 -
            var oldChild = node.removeChild(child);
            -または
            -node.removeChild(child);
            -
            +> **Note:** 取り除かれた子ノードへの参照が保持されている限り、子ノードはメモリー内に残りますが、 DOM の一部ではなくなります。 +> 後のコードで再利用することができます。 +> +> `removeChild()` の返値が保持されず、他の参照もなくなった場合は、まもなくメモリーから[自動的に削除](/en-US/docs/Web/JavaScript/Memory_Management)されます。 -
              -
            • child は DOM から取り除く、子ノードです。
            • -
            • nodechild の親ノードです。
            • -
            • oldChild は 取り除かれた子ノードへの参照を保持します。 oldChild === child です。
            • -
            +{{domxref("Node.cloneNode()")}} とは異なり、返値は関連付けられた {{domxref("EventListener")}} オブジェクトを保持します。 -

            取り除かれた子ノードはメモリ内に残りますが、 DOM の一部ではなくなります。最初の構文にある通り、取り除いたノードは、 oldChild オブジェクト参照を通じて、後でコード中で再利用することができます。

            +## 構文 -

            しかし、第二の構文では oldChild の参照が保持されないので、コードが他の場所でノードへの参照を持っていなければ、直ちに使用できなくなり、無関係になり、ふつうはまもなくメモリから 自動的に削除されます。

            +```js +removeChild(child); +``` -

            child が実際には element ノードの子ではない場合、このメソッドは例外を発生します。これは child が呼び出し時には実際に element の子であったものの、要素を取り除こうと呼び出されたイベントハンドラーによって削除された場合にも発生します。

            +### 引数 -

            このメソッドでは、2つの異なる方法で例外が発生します。

            +- `child` + - : {{domxref("Node")}} で、 DOM から取り除きたい子ノードを指定します。 -
              -
            1. -

              child が実際に element の子であり、 DOM 上に存在していたが削除された場合、このメソッドでは次の例外が発生します。

              +### 例外 -

              Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

              -
            2. -
            3. -

              child がページの DOM 上に存在しない場合、このメソッドでは次の例外が発生します。
              -
              - Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.

              -
            4. -
            +- `NotFoundError` {{domxref("DOMException")}} + - : `child` がこのノードの子ではない場合に発生します。 +- {{jsxref("TypeError")}} + - : `child` が `null` であった場合に発生します。 -

            +## 例 -
            <!-- 対象とする HTML のコード -->
            -<div id="top" > </div>
            +### 単純な例
             
            -<script type="text/javascript">
            -      var top = document.getElementById("top");
            -      var nested = document.getElementById("nested");
            +この HTML を使います。
             
            -      var garbage = top.removeChild(nested);    //Test Case 2: the method throws the exception (2)
            +```html
            +
            +
            +
            +``` -</script> +親ノードが分かる場合に、指定された要素を取り除きます。 -<!--Sample HTML code--> -<div id="top"> - <div id="nested"></div> -</div> +```js +let d = document.getElementById("top"); +let d_nested = document.getElementById("nested"); +let throwawayNode = d.removeChild(d_nested); +``` -<script type="text/javascript"> -  var top = document.getElementById("top"); -      var nested = document.getElementById("nested"); +親ノードが分からないときに指定された要素を取り除きます。 -  var garbage = top.removeChild(nested); // This first call remove correctly the node +```js +let node = document.getElementById("nested"); +if (node.parentNode) { + node.parentNode.removeChild(node); +} +``` -  // ...... -  garbage = top.removeChild(nested); // Test Case 1: the method in the second call here, throws the exception (1) +ある要素からすべての子を削除します。 -</script> +```js +let element = document.getElementById("top"); +while (element.firstChild) { + element.removeChild(element.firstChild); +} +``` -
            +### TypeError が発生する例 -
            <!--Sample HTML code-->
            +```html
            +
            +
            +``` -<div id="top"> - <div id="nested"></div> -</div> -
            +```js +let top = document.getElementById("top"); +let nested = document.getElementById("nested"); -
            // 親ノードから指定した子要素を除去
            -var d = document.getElementById("top");
            -var d_nested = document.getElementById("nested");
            -var throwawayNode = d.removeChild(d_nested);
            -
            +// TypeError が発生 +let garbage = top.removeChild(nested); +``` -
            // 親要素が不明、不定の場合の方法
            -var node = document.getElementById("nested");
            -if (node.parentNode) {
            -  node.parentNode.removeChild(node);
            -}
            -
            +### NotFoundError が発生する例 -
            // 要素の全ての子を除去
            -var element = document.getElementById("top");
            -while (element.firstChild) {
            -  element.removeChild(element.firstChild);
            -}
            -
            +```html + +
            +
            +
            +``` + +```js +let top = document.getElementById("top"); +let nested = document.getElementById("nested"); + +// 最初の呼び出しでは正しくノードを取り除く +let garbage = top.removeChild(nested); -

            仕様書

            +// NotFoundError が発生 +garbage = top.removeChild(nested); +``` - +## 仕様書 -

            ブラウザーの対応

            +{{Specifications}} -

            {{Compat("api.Node.removeChild")}}

            +## ブラウザーの互換性 -

            関連情報

            +{{Compat}} -
              -
            • {{domxref("Node.replaceChild")}}
            • -
            • {{domxref("Node.parentNode")}}
            • -
            • {{domxref("ChildNode.remove")}}
            • -
            +## 関連情報 -
            {{APIRef("DOM")}}
            +- {{domxref("Node.replaceChild()")}} +- {{domxref("Node.parentNode")}} +- {{domxref("Element.remove()")}} +- {{domxref("Node.cloneNode()")}} diff --git a/files/ja/web/api/node/replacechild/index.md b/files/ja/web/api/node/replacechild/index.md index 2c69ea2114..da96d01cf6 100644 --- a/files/ja/web/api/node/replacechild/index.md +++ b/files/ja/web/api/node/replacechild/index.md @@ -2,74 +2,95 @@ title: Node.replaceChild slug: Web/API/Node/replaceChild tags: - - API - - DOM - - Method - - Node - - Reference + - メソッド + - リファレンス +browser-compat: api.Node.replaceChild translation_of: Web/API/Node/replaceChild --- -
            {{ApiRef("DOM")}}
            +{{APIRef("DOM")}} -

            Node.replaceChild() メソッドは指定ノードの子ノードを別のノードに置き換えます。

            +**`replaceChild()`** は {{domxref("Node")}} 要素のメソッドで、この(親)ノードの中の子ノードを置き換えます。 -

            構文

            +**`Node.replaceChild()`** メソッドは指定ノードの子ノードを別のノードに置き換えます。 -
            replacedNode = parentNode.replaceChild(newChild, oldChild);
            -
            +## 構文 -
              -
            • newChild : oldChild を置き換える新しいノード(既存のノードは先に取り除かれます)
            • -
            • oldChild : 置き換えられる既存ノード
            • -
            • replacedNode : 置き換えられたノード(oldChild と同じノード)
            • -
            +```js +replaceChild(newChild, oldChild); +``` -

            +### 引数 -
            // <div>
            -//  <span id="childSpan">foo bar</span>
            -// </div>
            +- `newChild`
            +  - : `oldChild` を置き換える新しいノードです。
            +    > **Warning:** 新しいノードが既に DOM のどこか別なところにある場合は、まずその位置から取り除かれます。
            +- `oldChild`
            +  - : 置き換えられる子ノードです。
            +
            +> **Note:** 引数の順序で、*新しい*ものの前に*古い*ものが来るのは異例です。
            +[`Element.replaceWith()`](/ja/docs/Web/API/Element/replaceWith) は、要素であるノードのみに適用されるものですが、読んだり使用したりしやすいかもしれません。
            +
            +### 返値
            +
            +置き換えられた {{domxref("Node")}} です。これは `oldChild` と同じノードです。
            +
            +### 例外
            +
            +- `HierarchyRequestError` {{domxref("DOMException")}}
            +  - : DOM ツリーの制約に違反した場合に発生します。すなわち、以下のいずれかが発生する場合です。
            +    - `oldChild` の親が {{domxref("Document")}}, {{domxref("DocumentFragment")}}, {{domxref("Element")}} のいずれにもならない場合。
            +    - `oldChild` を `newChild` で置き換えると循環参照になる場合。すなわち `newChild` がこのノードの祖先である場合。
            +    - `newChild` が {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Element")}}, {{domxref("CharacterData")}} のいずれでもない場合。
            +    - 現在のノードが {{domxref("Text")}} であり、親ノードが {{domxref("Document")}} になる場合。
            +    - 現在のノードが {{domxref("DocumentType")}} であり、その親が {{domxref("Document")}} にならない場合。 _doctype_ は常に _document_ の直下になければならないからです。
            +    - このノードの親が {{domxref("Document")}} で `newChild` が {{domxref("DocumentFragment")}} であり、複数の {{domxref("Element")}} の子、または {{domxref("Text")}} の子がある場合。
            +    - `oldChild` を `newChild` で置き換えると、 {{domxref("Document")}} の子の {{domxref("Element")}} が複数になる場合。
            +    - `oldChild` を `newChild` で置き換えると、 {{domxref("Element")}} ノードが {{domxref("DocumentType")}} の前になる場合。
            +- `NotFoundError` {{domxref("DOMException")}}
            +  - : `oldChild` の親ノードが現在のノードではない場合に発生します。
            +
            +## 例
            +
            +```js
            +// 前提:
            +// 
            +// foo bar +//
            // ID も属性も内容も持たない空要素を生成 -var sp1 = document.createElement("span"); +const sp1 = document.createElement("span"); // 生成したノードに id 属性 'newSpan' を付与 -sp1.setAttribute("id", "newSpan"); +sp1.id = "newSpan"; -// テキストノードを生成 -var sp1_content = document.createTextNode("新しい span 要素"); +// 新しい要素にいくらかの内容を作成 +const sp1_content = document.createTextNode("新しい置換 span 要素"); -// 生成したテキストノードを先の空要素の子ノードとして配置 +// その内容を新しい要素に適用 sp1.appendChild(sp1_content); -// 置換に先んじ、参照を代入 -var sp2 = document.getElementById("childSpan"); // 既存の置換対象ノード -var parentDiv = sp2.parentNode; // 置換対象ノードの親要素 +// 置き換えられる既存のノードの参照を作る +const sp2 = document.getElementById("childSpan"); +const parentDiv = sp2.parentNode; -// 既存ノード "sp2" を 生成済の新しい span 要素 "sp1" と置換 +// 既存のノード sp2 を新しい span 要素 sp1 で置換 parentDiv.replaceChild(sp1, sp2); +// 結果: +//
            +// 新しい置換 span 要素 +//
            +``` -// 上記コード実行後のノードは以下の様になります: -// <div> -// <span id="newSpan">新しい span 要素</span> -// </div> -
            - -

            仕様書

            +## 仕様書 - +{{Specifications}} -

            ブラウザ実装状況

            +## ブラウザーの互換性 -

            {{Compat("api.Node.replaceChild")}}

            +{{Compat}} -

            関連情報

            +## 関連情報 -
              -
            • {{domxref("Node.removeChild")}}
            • -
            +- {{domxref("Node.removeChild")}} +- {{domxref("Element.replaceWith")}} -- cgit v1.2.3-54-g00ecf From a3335b2232582afc0a98d893b7e9f4987e968583 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 16:24:00 +0900 Subject: 2022/02/01 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/haschildnodes/index.md | 70 +++++---- files/ja/web/api/node/insertbefore/index.md | 209 +++++++++++---------------- 2 files changed, 130 insertions(+), 149 deletions(-) diff --git a/files/ja/web/api/node/haschildnodes/index.md b/files/ja/web/api/node/haschildnodes/index.md index b4ed1654d3..85717cb827 100644 --- a/files/ja/web/api/node/haschildnodes/index.md +++ b/files/ja/web/api/node/haschildnodes/index.md @@ -1,31 +1,49 @@ --- -title: Node.hasChildNodes +title: Node.hasChildNodes() slug: Web/API/Node/hasChildNodes tags: - - DOM - - Gecko - - Gecko DOM Reference + - メソッド + + - リファレンス +browser-compat: api.Node.hasChildNodes translation_of: Web/API/Node/hasChildNodes --- -
            - {{ApiRef}}
            -

            概要

            -

            hasChildNodes は指定したノード子ノードを持つか否かを示す真偽値を返します。

            -

            構文

            -
            node.hasChildNodes()
            -

            -

            "foo" を id に持つ要素の子ノードの存在を確認し、存在する場合は最初の子ノードを削除する例を以下に示します。

            -
            var foo = document.getElementById("foo");
            -
            -if ( foo.hasChildNodes() ) {
            -  foo.removeChild( foo.childNodes[0] );
            -}
            -

            仕様書

            - -

            関連情報

            -
              -
            • {{domxref("Node.childNodes")}}
            • -
            • {{domxref("Node.hasAttributes")}}
            • -
            +{{APIRef("DOM")}} + +**`hasChildNodes()`** は {{domxref("Node")}} インターフェイスのメソッドで、この {{domxref("Node")}} に[子ノード](/ja/docs/Web/API/Node/childNodes)があるかどうかを示す論理値を返します。 + +## 構文 + +```js +hasChildNodes(); +``` + +### 引数 + +なし。 + +### 返値 + +論理値で、このノードに子ノードがあれば `true` を、そうでなければ `false` を返します。 + +## 例 + +```js +let foo = document.getElementById('foo'); + +if (foo.hasChildNodes()) { + // 'foo.childNodes' で何かを行う +} +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.childNodes")}} diff --git a/files/ja/web/api/node/insertbefore/index.md b/files/ja/web/api/node/insertbefore/index.md index 2bfea72cdf..36ae9e86ba 100644 --- a/files/ja/web/api/node/insertbefore/index.md +++ b/files/ja/web/api/node/insertbefore/index.md @@ -2,62 +2,57 @@ title: Node.insertBefore() slug: Web/API/Node/insertBefore tags: - - API - - DOM - - Element - - Method - - Node - - Reference - メソッド + - リファレンス +browser-compat: api.Node.insertBefore translation_of: Web/API/Node/insertBefore --- -
            {{APIRef("DOM")}}
            +{{APIRef("DOM")}} -

            Node.insertBefore() メソッドは、ノードを参照ノードの前に、指定された親ノードの子として挿入します。

            +**`insertBefore()`** は {{domxref("Node")}} インターフェイスのメソッドで、*参照先ノード*の前にこの*親ノード*の子としてノードを挿入します。 -

            指定されたノードが既に文書中に存在した場合、 insertBefore() はこれを現在の位置から新しい位置に移動します。 (つまり、既存の親ノードから自動的に削除され、指定された新しい親に追加されます。)

            +指定されたノードが既に文書中に存在した場合、 `insertBefore()` はこれを現在の位置から新しい位置に移動します。(つまり、既存の親ノードから自動的に削除され、指定された新しい親に追加されます。) -

            これは、1つのノードが文書中に同時に2か所に存在できないことを意味します。

            +これは、 1 つのノードが文書中に同時に 2 か所に存在できないことを意味します。 -
            -

            メモ: {{domxref("Node.cloneNode()")}} を使用して、ノードを新しい親の下に追加する前に複製を作成することができます。なお、 cloneNode() で作成された複製は自動的には同期されません。

            -
            +> **Note:** {{domxref("Node.cloneNode()")}} を使用すると、ノードを新しい親の下に追加する前に複製を作成することができます。なお、 `cloneNode()` で作成された複製は自動的には同期されません。 -

            指定された子が {{domxref("DocumentFragment")}} である場合、 DocumentFragment の内容全体が指定された親ノードの子リストに移動されます。

            +指定された子が {{domxref("DocumentFragment")}} である場合、 `DocumentFragment` の内容全体が指定された親ノードの子リストに移動されます。 -

            構文

            +## 構文 -
            let insertedNode = parentNode.insertBefore(newNode, referenceNode)
            -
            +```js +insertBefore(newNode, referenceNode); +``` -
            -
            insertedNode
            -
            挿入されたノード (newNode と同じ) です。
            -
            parentNode
            -
            新しく挿入されるノードの親です。
            -
            newNode
            -
            挿入されるノードです。
            -
            referenceNode
            -
            newNode がこのノードの直前に挿入されます。このノードが null である場合は、 newNodeparentNode の子ノードの末尾に挿入されます。
            -
            +### 引数 -
            -

            メモ: referenceNode は省略可能な引数ではありません。明示的に {{domxref("Node")}} または null を渡す必要があります。渡し忘れた場合や無効な値を渡した場合は、ブラウザーのバージョンによって異なる動作をすることがあります。

            -
            +- `newNode` + - : 挿入するノードです。 +- `referenceNode` + - : `newNode` が挿入される位置の前にあるノードです。このノードが `null` である場合は、 `newNode` はこのノードの子ノードの末尾に挿入されます。 + > **Note:** `referenceNode` は省略可能な引数では**ありません**。 + > 明示的に {{domxref("Node")}} または `null` を渡す必要があります。 + > 渡さなかった場合や無効な値を渡した場合の[動作](https://code.google.com/p/chromium/issues/detail?id=419780)は、ブラウザーのバージョンによって[異なる](https://bugzilla.mozilla.org/show_bug.cgi?id=119489)可能性があります。 + +## 返値 -

            返値

            +追加された子ノードを返します(ただし `newNode` が {{domxref("DocumentFragment")}} の場合は、空の {{domxref("DocumentFragment")}} を返します)。 -

            追加された子ノードを返します (ただし newNode が {{domxref("DocumentFragment")}} の場合は、空の {{domxref("DocumentFragment")}} が返ります)。

            +### 例外 -

            +挿入前の検証 -

            例 1

            +## 例 -
            <div id="parentElement">
            -   <span id="childElement">foo bar</span>
            -</div>
            +### 例 1
            +
            +```html
            +
            + foo bar +
            -<script> + +``` -

            例 2

            +### 例 2 -
            <div id="parentElement">
            -  <span id="childElement">foo bar</span>
            -</div>
            +```html
            +
            + foo bar +
            -<script> -// 新しい只の <span> 要素を作成 + +``` + +> **Note:** `insertAfter()` メソッドはありません。 +> これは `insertBefore` メソッドと {{domxref("Node.nextSibling")}} の組み合わせでエミュレートできます。 +> +> 前の例では、 `sp1` は以下のようにして `sp2` の後に挿入することができます。 +> +> ```js +> parentDiv.insertBefore(sp1, sp2.nextSibling) +> ``` +> +> `sp2` に次の兄弟ノードがない場合、これが最後の子ノードです。 — `sp2.nextSibling` は `null` を返し、 `sp1` は子ノードリストの末尾(`sp2` の直後)に挿入されます。 + +### 例 3 + +要素を最初の子要素の前に挿入するために、 {{domxref("Node/firstChild", "firstChild")}} プロパティを使用します。 + +```js +// 親ノードを取得 +let parentElement = document.getElementById('parentElement') +// 親ノードの最初の子ノードを取得 +let theFirstChild = parentElement.firstChild -
            -

            メモ: insertAfter() メソッドはありません。これは insertBefore メソッドと {{domxref("Node.nextSibling")}} の組み合わせでエミュレートできます。

            -
            +// 新しい要素を取得 +let newElement = document.createElement("div") -

            前の例では、 sp1 は以下のようにして sp2 の後に挿入することができます。

            +// 最初の子ノードの前に新しい要素を挿入 +parentElement.insertBefore(newElement, theFirstChild) +``` -
            parentDiv.insertBefore(sp1, sp2.nextSibling)
            +要素に最初の子ノードがない場合、 `firstChild` は `null` になります。その場合も、要素は親ノードの最後の子ノードの後に追加されます。 -

            sp2 に次の兄弟がない場合、これは最後の子ノードです。 — sp2.nextSiblingnull を返し、 sp1 は子ノードリストの末尾 (sp2 の直後) に挿入されます。

            +親要素に最初の子ノードがない場合は、最後の子ノードもありません。結果的に、新しく挿入された要素は**唯一の**要素になります。 -

            例 3

            +## 仕様書 -

            要素を最初の子要素の前に挿入するために、 {{domxref("Node/firstChild", "firstChild")}} プロパティを使用します。

            +{{Specifications}} -
            // 親ノードを取得
            -let parentElement = document.getElementById('parentElement')
            -// 親の最初の子を取得
            -let theFirstChild = parentElement.firstChild
            +## ブラウザーの互換性
             
            -// 新しい要素を取得
            -let newElement = document.createElement("div")
            +{{Compat}}
             
            -// 最初の子の前に新しい要素を挿入
            -parentElement.insertBefore(newElement, theFirstChild)
            -
            - -

            要素に最初の子がない場合、 firstChildnull になります。その場合も、要素は親の最後の子の後に追加されます。

            - -

            親要素が最初の子を持っていない場合は、最後の子も持っていません。結果的に、新しく挿入された要素は唯一の要素になります。

            - -

            仕様書

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            仕様書状態備考
            {{SpecName('DOM WHATWG','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM WHATWG')}}挿入アルゴリズムのエラーを修正
            {{SpecName('DOM4','#dom-node-insertbefore','Node.insertBefore')}}{{Spec2('DOM4')}}より詳細にアルゴリズムを記述
            {{SpecName('DOM3 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM3 Core')}}目立った変更はなし
            {{SpecName('DOM2 Core','core.html#ID-952280727','Node.insertBefore')}}{{Spec2('DOM2 Core')}}目立った変更はなし
            {{SpecName('DOM1','level-one-core.html#method-insertBefore','Node.insertBefore')}}{{Spec2('DOM1')}}導入
            - -

            ブラウザーの互換性

            - -

            {{Compat("api.Node.insertBefore")}}

            - -

            関連情報

            - -
              -
            • {{domxref("Node.removeChild()")}}
            • -
            • {{domxref("Node.replaceChild()")}}
            • -
            • {{domxref("Node.appendChild()")}}
            • -
            • {{domxref("Node.hasChildNodes()")}}
            • -
            • {{domxref("Element.insertAdjacentElement()")}}
            • -
            • {{domxref("ParentNode.prepend()")}}
            • -
            +## 関連情報 + +- {{domxref("Node.removeChild()")}} +- {{domxref("Node.replaceChild()")}} +- {{domxref("Node.appendChild()")}} +- {{domxref("Node.hasChildNodes()")}} +- {{domxref("Element.insertAdjacentElement()")}} +- {{domxref("Element.prepend()")}} +- {{domxref("Element.before()")}} +- {{domxref("Element.after()")}} -- cgit v1.2.3-54-g00ecf From dd4c3fd91ffcfdfbbe292e9c8fe826ae76cdbfed Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 17:17:47 +0900 Subject: 2022/02/09 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/issamenode/index.md | 112 +++++++++++++++++++++--------- 1 file changed, 78 insertions(+), 34 deletions(-) diff --git a/files/ja/web/api/node/issamenode/index.md b/files/ja/web/api/node/issamenode/index.md index f94668cfd5..ffd47f8bf3 100644 --- a/files/ja/web/api/node/issamenode/index.md +++ b/files/ja/web/api/node/issamenode/index.md @@ -1,39 +1,83 @@ --- -title: Node.isSameNode +title: Node.isSameNode() slug: Web/API/Node/isSameNode tags: - - DOM - - Gecko DOM Reference - - Node + - メソッド + - リファレンス +browser-compat: api.Node.isSameNode translation_of: Web/API/Node/isSameNode --- -
            - {{ApiRef}}{{Obsolete_header}}
            -

            概要

            -

            ふたつのノードが同一ノードの場合は true を、異なる場合は false を返します。

            -
            - 注記: このメソッドは DOM level 4 で削除されており、Gecko 10.0 {{geckoRelease("10.0")}} やその他のブラウザの最近のバージョンには実装されていません。よって、別の方法を採る必要があります。
            -
            // 当メソッド
            -node1.isSameNode(node2)
            -
            -// 代替策
            -node1 === node2
            -node1 == node2
            -
            -
            -
            -

            構文

            -
            isSameNode = node.isSameNode(org);
            -
            -
              -
            • arg : 比較ノード
            • -
            -

            仕様書

            -
              -
            • {{spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode","DOM Level 3 Core: isSameNode","REC")}}
            • -
            • {{spec("http://www.w3.org/TR/domcore/","DOM Core Level 4","WD")}} で削除されています
            • -
            -

            関連情報

            -
              -
            • {{domxref("Node.isEqualNode")}}
            • -
            +{{APIRef("DOM")}} + +**`isSameNode()`** は {{domxref("Node")}} インターフェイスのメソッドで、 [`===` 厳密等価演算子](/ja/docs/Web/JavaScript/Reference/Operators/Strict_equality)の古い別名です。 +すなわち、 2 つのノードが全く同じであるかどうか(言い換えれば、同じオブジェクトを指しているかどうか)を検査します。 + +> **Note:** `isSameNode()` を使用する必要はありません。 `===` 厳密等価演算子を使用してください。 + +## 構文 + +```js +isSameNode(otherNode); +``` + +### 引数 + +- `otherNode` + - : 検査対象となる {{domxref("Node")}} です。 + > **Note:** この引数は省略可能ではありませんが、 `null` に設定することはできます。 + +### 返値 + +論理値で、両ノードが厳密に等しい場合は `true`、そうでなければ `false` です。 + +## 例 + +この例では、 3 つの {{HTMLElement("div")}} ブロックを作成しています。 1 つ目と 3 つ目は内容と属性が同じであり、 2 つ目は異なっています。このとき、`isSameNode()` を使って JavaScript でノードを比較した結果は以下のようになります。 + +### HTML + +```html +
            最初の要素です。
            +
            2 番目の要素です。
            +
            最初の要素です。
            + +

            +``` + +```css hidden +#output { + width: 440px; + border: 2px solid black; + border-radius: 5px; + padding: 10px; + margin-top: 20px; + display: block; +} +``` + +### JavaScript + +```js +let output = document.getElementById("output"); +let divList = document.getElementsByTagName("div"); + +output.innerHTML += "div 0 と div 0 は同じか: " + divList[0].isSameNode(divList[0]) + "
            "; +output.innerHTML += "div 0 と div 1 は同じか: " + divList[0].isSameNode(divList[1]) + "
            "; +output.innerHTML += "div 0 と div 2 は同じか: " + divList[0].isSameNode(divList[2]) + "
            "; +``` + +### 結果 + +{{ EmbedLiveSample('Example', "100%", "205") }} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("Node.isEqualNode()")}} -- cgit v1.2.3-54-g00ecf From dd0a249a5aca733d09f33a10b32e20e435a99da9 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 27 Feb 2022 17:35:44 +0900 Subject: 2022/01/23 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/normalize/index.md | 79 +++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 27 deletions(-) diff --git a/files/ja/web/api/node/normalize/index.md b/files/ja/web/api/node/normalize/index.md index 83026ac378..7432a8f979 100644 --- a/files/ja/web/api/node/normalize/index.md +++ b/files/ja/web/api/node/normalize/index.md @@ -1,48 +1,73 @@ --- -title: Node.normalize +title: Node.normalize() slug: Web/API/Node/normalize tags: - - DOM - - Gecko - - Node + - メソッド + - リファレンス +browser-compat: api.Node.normalize translation_of: Web/API/Node/normalize --- -
            {{ApiRef}}
            +{{APIRef("DOM")}} -

            概要

            +**`normalize()`** は {{domxref("Node")}} インターフェイスのメソッドで、指定されたノードとその下のツリーを*正規化された*形にします。 +正規化されたサブツリーでは、サブツリー内に空のテキストノードがなくなり、隣り合うテキストノードがなくなります。 -

            指定ノードの空のノードを削除し、隣接するテキストノードをひとつに纏め、文書を「正規化 (normalize)」します。

            +## 構文 -

            構文

            +```js +normalize(); +``` -
            element.normalize();
            -
            +### 引数 -

            +なし。 -
            var wrapper = document.createElement("div");
            +### 返値
            +
            +なし。
            +
            +## 例
            +
            +```html
            +
            +```
            +
            +```js
            +let wrapper = document.createElement("div");
             
             wrapper.appendChild( document.createTextNode("Part 1 ") );
             wrapper.appendChild( document.createTextNode("Part 2 ") );
             
            -// wrapper.childNodes[0].textContent === "Part 1 "
            -// wrapper.childNodes[1].textContent === "Part 2 "
            -// この時点で、wrapper の 子ノード数は 2 です。 wrapper.childNodes.length === 2
            +let node = wrapper.firstChild;
            +let result = "正規化前:
            "; +while (node) { + result += " " + node.nodeName + ": " + node.nodeValue + "
            "; + node = node.nextSibling; +} + +wrapper.normalize(); + +node = wrapper.firstChild; +result += "

            正規化後:
            "; +while (node) { + result += " " + node.nodeName + ": " + node.nodeValue + "
            "; + node = node.nextSibling; +} + +const output = document.getElementById("result"); +output.innerHTML = result; +``` + +{{ EmbedLiveSample("Example", "100%", "170")}} -wrapper.normalize(); // 正規化 +## 仕様書 -// 正規化後の wrapper の子ノード数は 1 となっています。 wrapper.childNodes.length === 1 -// 挿入処理の為に冗長化したノードはひとつに纏められています。 wrapper.childNodes[0].textContent === "Part 1 Part 2" -
            +{{Specifications}} -

            仕様書

            +## ブラウザーの互換性 - +{{Compat}} -

            関連情報

            +## 関連情報 - +- 逆の操作である {{domxref("Text.splitText()")}} -- cgit v1.2.3-54-g00ecf From 0e16fb2efa27c368c2b92b40773982ce3a335aff Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Mon, 28 Feb 2022 02:22:47 +0900 Subject: 2021/11/08 時点の英語版に基づき新規翻訳 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/node/lookupprefix/index.md | 77 +++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 files/ja/web/api/node/lookupprefix/index.md diff --git a/files/ja/web/api/node/lookupprefix/index.md b/files/ja/web/api/node/lookupprefix/index.md new file mode 100644 index 0000000000..30dcc549ac --- /dev/null +++ b/files/ja/web/api/node/lookupprefix/index.md @@ -0,0 +1,77 @@ +--- +title: Node.lookupPrefix() +slug: Web/API/Node/lookupPrefix +tags: + - メソッド + - リファレンス +browser-compat: api.Node.lookupPrefix +translation_of: Web/API/Node/lookupPrefix +--- +{{APIRef("DOM")}} + +**`lookupPrefix()`** は {{domxref("Node")}} インターフェイスのメソッドで、指定された名前空間 URI に対応する接頭辞があれば、それを含む文字列を返します。ない場合は `null` を返します。 +複数の接頭辞の可能性があれば、最初の接頭辞を返します。 + +## 構文 + +```js +lookupPrefix(namespace); +``` + +### 引数 + +- `namespace` + - : 接頭辞を検索するための名前空間の入った文字列です。 + > **Note:** この引数は省略可能ではありませんが、 `null` に設定することはできます。 + +### 返値 + +対応する接頭辞の入った文字列です。見つからなかった場合は `null` になります。 +`namespace` が null または空文字列であった場合、 `lookupPrefix()` は `null` を返します。 + +このノードが {{domxref("DocumentType")}} または {{domxref("DocumentFragment")}} であった場合は、 `lookupPrefix()` は常に `null` を返します。 + +## 例 + +```html +Prefix for http://www.w3.org/2000/svg on <output>: 未検査
            +Prefix for http://www.w3.org/XML/1998/namespace on <output>: 未検査
            +Prefix for http://www.w3.org/TR/html4/ on <output>: 未検査
            +Prefix for https://www.w3.org/1999/xlink on <output>: 未検査
            +Prefix for http://www.w3.org/2000/svg on <svg>: 未検査
            +Prefix for https://www.w3.org/1999/xlink on <svg>: 未検査
            +Prefix for http://www.w3.org/XML/1998/namespace on <svg>: 未検査
            + + +``` + +```js +const button = document.getElementsByTagName('button')[0]; +button.addEventListener("click", function () { + const aHtmlElt = document.getElementsByTagName('output')[0]; + const aSvgElt = document.getElementsByTagName('svg')[0]; + + const result = document.getElementsByTagName('output'); + result[0].value = aHtmlElt.lookupPrefix("http://www.w3.org/2000/svg"); // true + result[1].value = aHtmlElt.lookupPrefix("http://www.w3.org/XML/1998/namespace"); // false + result[2].value = aHtmlElt.lookupPrefix("http://www.w3.org/TR/html4/"); // true + result[3].value = aHtmlElt.lookupPrefix("https://www.w3.org/1999/xlink"); // false + result[4].value = aSvgElt.lookupPrefix("http://www.w3.org/2000/svg"); // true + result[5].value = aSvgElt.lookupPrefix("https://www.w3.org/1999/xlink"); // true + result[6].value = aSvgElt.lookupPrefix("http://www.w3.org/XML/1998/namespace"); // false +}); +``` + +{{ EmbedLiveSample('Example','100%',190) }} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [http://www.w3.org/TR/DOM-Level-3-Cor...amespacePrefix](https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix) -- cgit v1.2.3-54-g00ecf From 003c7bc1a3cf88b8aac03753d693703b720d16a0 Mon Sep 17 00:00:00 2001 From: Julien Wilhelm <49813904+AwebsomeFr@users.noreply.github.com> Date: Sun, 6 Mar 2022 11:06:39 +0100 Subject: Update index.md (#4444) Spell checking. --- files/fr/web/api/url/searchparams/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/fr/web/api/url/searchparams/index.md b/files/fr/web/api/url/searchparams/index.md index 66cc2a85bf..64f622e47f 100644 --- a/files/fr/web/api/url/searchparams/index.md +++ b/files/fr/web/api/url/searchparams/index.md @@ -10,7 +10,7 @@ tags: - URLSearchParameters translation_of: Web/API/URL/searchParams --- -{{APIRef("URL API")}} La propriété en lecture seule **`searchParams`** de l'interface {{domxref("URL")}} retourneun objet {{domxref("URLSearchParams")}} permettant d'accéder aux arguments décodésde la requête GET contenu dans l'URL. +{{APIRef("URL API")}} La propriété en lecture seule **`searchParams`** de l'interface {{domxref("URL")}} retourne un objet {{domxref("URLSearchParams")}} permettant d'accéder aux arguments décodés de la requête GET contenue dans l'URL. {{AvailableInWorkers}} -- cgit v1.2.3-54-g00ecf From 624700b023db2c112fcfcdbc1b7428e475692a41 Mon Sep 17 00:00:00 2001 From: Stéphane Wirtel Date: Sun, 6 Mar 2022 11:07:10 +0100 Subject: Correct sentence structure (#4418) --- files/fr/web/accessibility/aria/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/fr/web/accessibility/aria/index.md b/files/fr/web/accessibility/aria/index.md index 24b46f7564..3ca0044907 100644 --- a/files/fr/web/accessibility/aria/index.md +++ b/files/fr/web/accessibility/aria/index.md @@ -9,7 +9,7 @@ tags: translation_of: Web/Accessibility/ARIA original_slug: Accessibilité/ARIA --- -_Accessible Rich Internet Applications_ **(ARIA)** (qu'on pourrait traduire par « applications internet riches et accessibles ») sont un ensemble un attribut qui définit comment rendre le contenu et les applications web accessibles. +_Accessible Rich Internet Applications_ **(ARIA)** (qu'on pourrait traduire par « applications internet riches et accessibles ») sont un ensemble d'attributs qui définissent comment rendre le contenu et les applications web accessibles. ARIA complète HTML afin que les éléments interactifs et les widgets puissent être utilisés par les outils d'assistance quand les fonctionnalités standard ne le permettent pas. Ainsi, ARIA permet de rendre accessible les _widgets_ JavaScript, les indications dans les formulaires, les messages d'erreur et les mises à jour dynamiques du contenu, etc. -- cgit v1.2.3-54-g00ecf From 4fe7aa576ab88f16958f38016e5587df6946171a Mon Sep 17 00:00:00 2001 From: Carolyn Wu <87150472+cw118@users.noreply.github.com> Date: Sun, 6 Mar 2022 16:30:06 +0100 Subject: MD037/38/39 fixes for remaining fr web files (#4403) --- files/fr/web/mathml/authoring/index.md | 2 +- files/fr/web/mathml/element/maction/index.md | 2 +- files/fr/web/mathml/element/math/index.md | 2 +- files/fr/web/mathml/element/mfenced/index.md | 2 +- files/fr/web/mathml/element/msub/index.md | 2 +- files/fr/web/performance/index.md | 2 +- files/fr/web/progressive_web_apps/loading/index.md | 2 +- .../fr/web/progressive_web_apps/offline_service_workers/index.md | 2 +- .../re-engageable_notifications_push/index.md | 2 +- files/fr/web/security/same-origin_policy/index.md | 6 +++--- files/fr/web/security/secure_contexts/index.md | 2 +- files/fr/web/svg/applying_svg_effects_to_html_content/index.md | 2 +- files/fr/web/svg/attribute/seed/index.md | 2 +- files/fr/web/svg/attribute/stroke-dasharray/index.md | 2 +- files/fr/web/svg/compatibility_sources/index.md | 2 +- files/fr/web/svg/element/altglyphitem/index.md | 2 +- files/fr/web/svg/element/ellipse/index.md | 8 ++++---- files/fr/web/svg/element/line/index.md | 2 +- files/fr/web/svg/element/radialgradient/index.md | 4 +++- files/fr/web/svg/element/symbol/index.md | 2 +- files/fr/web/svg/element/use/index.md | 2 +- files/fr/web/svg/index.md | 6 +++--- files/fr/web/svg/tutorial/other_content_in_svg/index.md | 2 +- files/fr/web/xpath/index.md | 2 +- files/fr/web/xslt/element/stylesheet/index.md | 2 +- 25 files changed, 34 insertions(+), 32 deletions(-) diff --git a/files/fr/web/mathml/authoring/index.md b/files/fr/web/mathml/authoring/index.md index ad4463cea3..260d44bc3c 100644 --- a/files/fr/web/mathml/authoring/index.md +++ b/files/fr/web/mathml/authoring/index.md @@ -312,7 +312,7 @@ Si votre document LaTeX est volumineux, vous pouvez vouloir le diviser en plusie ### Boîte de saisie -[TeXZilla](https://github.com/fred-wang/TeXZilla) possède plusieurs interfaces, notamment une [fiche CKEditor](https://ckeditor.com/addon/texzilla) utilisé sur MDN, une [démo en ligne](https://fred-wang.github.io/TeXZilla/), un [module de Firefox](https://addons.mozilla.org/en-US/firefox/addon/texzilla/) ou encore une [application web FirefoxOS](https://marketplace.firefox.com/app/texzilla-1/). Il est également intégré à [SeaMonkey](https://www.seamonkey-project.org/) depuis la version 2.28 et à [Thunderbird](https://www.mozilla.org/thunderbird/) depuis la version 31. [Abiword](http://abisource.org/) contient un petit éditeur d'équations, basé sur itex2MML. Enfin,[ Bluegriffon](http://www.bluegriffon.com/) possède un module complémentaire permettant d'insérer des formules MathML dans votre document, en utilisant une syntaxe de type ASCII/LaTeX. +[TeXZilla](https://github.com/fred-wang/TeXZilla) possède plusieurs interfaces, notamment une [fiche CKEditor](https://ckeditor.com/addon/texzilla) utilisé sur MDN, une [démo en ligne](https://fred-wang.github.io/TeXZilla/), un [module de Firefox](https://addons.mozilla.org/en-US/firefox/addon/texzilla/) ou encore une [application web FirefoxOS](https://marketplace.firefox.com/app/texzilla-1/). Il est également intégré à [SeaMonkey](https://www.seamonkey-project.org/) depuis la version 2.28 et à [Thunderbird](https://www.mozilla.org/thunderbird/) depuis la version 31. [Abiword](http://abisource.org/) contient un petit éditeur d'équations, basé sur itex2MML. Enfin, [Bluegriffon](http://www.bluegriffon.com/) possède un module complémentaire permettant d'insérer des formules MathML dans votre document, en utilisant une syntaxe de type ASCII/LaTeX. ![BlueGriffon](mathml-shot1.png) diff --git a/files/fr/web/mathml/element/maction/index.md b/files/fr/web/mathml/element/maction/index.md index ac5dcfea6f..2635658f7e 100644 --- a/files/fr/web/mathml/element/maction/index.md +++ b/files/fr/web/mathml/element/maction/index.md @@ -20,7 +20,7 @@ L'action est définie par l'attribut `actiontype` qui peut prendre plusieurs val - `toggle` : Quand il y a un clic sur la sous-expression, la mise en forme des sous-expressions sélectionnées change. Ainsi chaque clic augmente la valeur de `selection`. La syntaxe est la suivante : ` expression1 expression2 expressionN `. - `tooltip` : Lorsque la souris passe au-dessus de l'_expression_, une info-bulle est affichée à proximité de l'expression. - La syntaxe est la suivante :` expression message .` + La syntaxe est la suivante : ` expression message .` - class, id, style - : Afin d'être utilisés avec les [feuilles de styles](/fr/docs/CSS). diff --git a/files/fr/web/mathml/element/math/index.md b/files/fr/web/mathml/element/math/index.md index 99fda8ff97..b7deea058d 100644 --- a/files/fr/web/mathml/element/math/index.md +++ b/files/fr/web/mathml/element/math/index.md @@ -9,7 +9,7 @@ translation_of: Web/MathML/Element/math --- {{MathMLRef}} -L'élément racine de MathML est` `. Tout objet représenté en MathML doit être encadré de balises ``. De plus, il est interdit d'imbriquer un autre élément `` à l'intérieur d'un premier. Il est toutefois possible d'avoir un nombre arbitraire d'éléments fils à l'intérieur d'un élément ``. +L'élément racine de MathML est ``. Tout objet représenté en MathML doit être encadré de balises ``. De plus, il est interdit d'imbriquer un autre élément `` à l'intérieur d'un premier. Il est toutefois possible d'avoir un nombre arbitraire d'éléments fils à l'intérieur d'un élément ``. ## Attributs diff --git a/files/fr/web/mathml/element/mfenced/index.md b/files/fr/web/mathml/element/mfenced/index.md index 0762e953c8..24296cb7a5 100644 --- a/files/fr/web/mathml/element/mfenced/index.md +++ b/files/fr/web/mathml/element/mfenced/index.md @@ -20,7 +20,7 @@ translation_of: Web/MathML/Element/mfenced - class, id, style - : Afin d'être utilisés avec les [feuilles de styles](/fr/docs/CSS). - close - - : Une chaîne de caractère pour le délimiteur fermant. La valeur par défaut est « `) `» et tous les blancs sont tronqués. + - : Une chaîne de caractère pour le délimiteur fermant. La valeur par défaut est « `)` » et tous les blancs sont tronqués. - href {{Deprecated_Inline()}} - : Un hyperlien pointant vers un URI donné. - mathbackground {{Deprecated_Inline()}} diff --git a/files/fr/web/mathml/element/msub/index.md b/files/fr/web/mathml/element/msub/index.md index 5647fb72ef..b53cdcafab 100644 --- a/files/fr/web/mathml/element/msub/index.md +++ b/files/fr/web/mathml/element/msub/index.md @@ -50,7 +50,7 @@ Rendu dans votre navigateur: X 1 ## Notes spécifiques à Gecko -- À partir de Gecko 26.0 {{geckoRelease("26")}} il ne sera bientôt plus possible d'utiliser `` comme un élément enfant. The rendering has been made more consistent with equivalent configurations of {{MathMLElement("msup")}} and {{MathMLElement("mmultiscripts")}} and a bug with an incorrect application ` of the ``superscriptshift` attribute has been fixed (see {{bug("827713")}} for details). +- À partir de Gecko 26.0 {{geckoRelease("26")}} il ne sera bientôt plus possible d'utiliser `` comme un élément enfant. The rendering has been made more consistent with equivalent configurations of {{MathMLElement("msup")}} and {{MathMLElement("mmultiscripts")}} and a bug with an incorrect application of the `superscriptshift` attribute has been fixed (see {{bug("827713")}} for details). ## Voir aussi diff --git a/files/fr/web/performance/index.md b/files/fr/web/performance/index.md index b76ba4f995..78fa39206d 100644 --- a/files/fr/web/performance/index.md +++ b/files/fr/web/performance/index.md @@ -163,7 +163,7 @@ HTML - [Responsive images](/fr/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) -- [Preloading content with `rel="preload"`](/fr/docs/Web/HTML/Preloading_content) - [(https://w3c.github.io/preload/ ](https://w3c.github.io/preload/)) +- [Preloading content with `rel="preload"`](/fr/docs/Web/HTML/Preloading_content) - CSS diff --git a/files/fr/web/progressive_web_apps/loading/index.md b/files/fr/web/progressive_web_apps/loading/index.md index afaf29335f..91b2a90e4b 100644 --- a/files/fr/web/progressive_web_apps/loading/index.md +++ b/files/fr/web/progressive_web_apps/loading/index.md @@ -154,7 +154,7 @@ Rappelez-vous de ce que nous avons dit concernant l'approche d'amélioration pro ## Dernières réflexions -C'est fini pour ces séries de tutoriels — nous avons examiné le [code source code de l'exemple d'application js13kPWA](https://github.com/mdn/pwa-examples/tree/master/js13kpwa) et nous avons appris à utiliser les fonctionnalités progressives des applications web en commençant par une [Introduction](/fr/docs/Web/Progressive_web_apps/Introduction), [la structure des PWA, ](/fr/docs/Web/Progressive_web_apps/App_structure)[la disponibilité en mode déconnectégrâce aux Service Workers](/fr/docs/Web/Progressive_web_apps/Offline_Service_workers), [les PWAs installable](/fr/docs/Web/Progressive_web_apps/Installable_PWAs) et finalement les notifications. Nous avons également expliqué le mode push avec l'aide du [Service Worker Cookbook](https://serviceworke.rs/). Et dans cet article, nous avons abordé le concept de chargement progressif incluant un exemple intéressant utilisant l'[API ntersection Observer](/fr/docs/Web/API/Intersection_Observer_API). +C'est fini pour ces séries de tutoriels — nous avons examiné le [code source code de l'exemple d'application js13kPWA](https://github.com/mdn/pwa-examples/tree/master/js13kpwa) et nous avons appris à utiliser les fonctionnalités progressives des applications web en commençant par une [Introduction](/fr/docs/Web/Progressive_web_apps/Introduction), [la structure des PWA](/fr/docs/Web/Progressive_web_apps/App_structure), [la disponibilité en mode déconnectégrâce aux Service Workers](/fr/docs/Web/Progressive_web_apps/Offline_Service_workers), [les PWAs installable](/fr/docs/Web/Progressive_web_apps/Installable_PWAs) et finalement les notifications. Nous avons également expliqué le mode push avec l'aide du [Service Worker Cookbook](https://serviceworke.rs/). Et dans cet article, nous avons abordé le concept de chargement progressif incluant un exemple intéressant utilisant l'[API ntersection Observer](/fr/docs/Web/API/Intersection_Observer_API). N'hésitez pas à faire des essais avec le code, à améliorer votre application existante avec des des fonctionnalités PWA ou à bâtir quelque chose d'entièrement nouveau de vous même. Les PWAs amènent un énorme avantage sur les applications web classiques. diff --git a/files/fr/web/progressive_web_apps/offline_service_workers/index.md b/files/fr/web/progressive_web_apps/offline_service_workers/index.md index 6d04712c4a..e4a376c6cb 100644 --- a/files/fr/web/progressive_web_apps/offline_service_workers/index.md +++ b/files/fr/web/progressive_web_apps/offline_service_workers/index.md @@ -221,7 +221,7 @@ Servir des fichiers depuis le cache n'est pas la seule fonctionnalité que le Se Dans cet article, nous avons rapidement abordé la façon de faire fonctionner notre PWA en mode déconnecté grâce aux service workers. Consultez  la documentation si vous voulez en apprendre davantage sur les concepts qui sont derrière l'[API Service Worker](/fr/docs/Web/API/Service_Worker_API) et comment l'exploiter au mieux. -Les Service Workers sont également utilisés pour gérer les [push notifications ](/fr/docs/Web/API/Push_API)[](/fr/docs//Web/API/Push_API)— ceci sera expliqué dans un prochain article. +Les Service Workers sont également utilisés pour gérer les [push notifications](/fr/docs/Web/API/Push_API) — ceci sera expliqué dans un prochain article. {{PreviousMenuNext("Web/Apps/Progressive/App_structure", "Web/Apps/Progressive/Installable_PWAs", "Web/Apps/Progressive")}} diff --git a/files/fr/web/progressive_web_apps/re-engageable_notifications_push/index.md b/files/fr/web/progressive_web_apps/re-engageable_notifications_push/index.md index a7782be0e0..75752e6e9f 100644 --- a/files/fr/web/progressive_web_apps/re-engageable_notifications_push/index.md +++ b/files/fr/web/progressive_web_apps/re-engageable_notifications_push/index.md @@ -90,7 +90,7 @@ Les données peuvent être récupérées puis affichées immédiatement à l'uti ### Exemple de Push -Push requiert que la partie serveur fonctionne, donc nous ne pouvons pas l'inclure dans l'exemple js13kPWA hébergé dans les pages GitHub puisqu'elles ne permettent de servir que des fichiers statiques. C'est entièrement expliqué dans le [Service Worker Cookbook](https://serviceworke.rs/) — voir la[ démonstration de charge utile poussée](https://serviceworke.rs/push-payload.html). +Push requiert que la partie serveur fonctionne, donc nous ne pouvons pas l'inclure dans l'exemple js13kPWA hébergé dans les pages GitHub puisqu'elles ne permettent de servir que des fichiers statiques. C'est entièrement expliqué dans le [Service Worker Cookbook](https://serviceworke.rs/) — voir la [démonstration de charge utile poussée](https://serviceworke.rs/push-payload.html). Cette démonstration comporte trois fichiers: diff --git a/files/fr/web/security/same-origin_policy/index.md b/files/fr/web/security/same-origin_policy/index.md index fa7fc96871..ce2a713f38 100644 --- a/files/fr/web/security/same-origin_policy/index.md +++ b/files/fr/web/security/same-origin_policy/index.md @@ -24,7 +24,7 @@ Les cookies utilisent une définition de l'origine différente de celle qui vien ## Changer l'origine -Une page peut changer son origine dans une certaine mesure. Un script peut définir la valeur de `document.domain `vers un suffixe du domaine courant. S'il procéde ainsi, le domaine le plus court sera utilisé pour les prochaines vérifications d'origines. Par exemple, un script dans la page `http://store.company.com/dir/other.html` exécute le code suivant : +Une page peut changer son origine dans une certaine mesure. Un script peut définir la valeur de `document.domain` vers un suffixe du domaine courant. S'il procéde ainsi, le domaine le plus court sera utilisé pour les prochaines vérifications d'origines. Par exemple, un script dans la page `http://store.company.com/dir/other.html` exécute le code suivant : document.domain = "company.com"; @@ -43,12 +43,12 @@ La same-origin policy contrôle les interactions entre deux origines différente Voici quelques exemples de ressources qui peuvent être embarqués malgré leur origine incompatible avec la same-origin policy : - JavaScript avec ``. Les messages d'erreur de syntaxe ne sont disponibles que pour les scripts ayant la même origine. -- CSS avec` `. Étant donnée la [souplesse des règles de syntaxe](http://scarybeastsecurity.blogspot.dk/2009/12/generic-cross-browser-cross-domain.html) du CSS, les CSS d'origine différentes nécessitent une entête `Content-Type` correcte. Les restrictions varient selon les navigateurs : [IE](http://msdn.microsoft.com/en-us/library/ie/gg622939%28v=vs.85%29.aspx), [Firefox](http://www.mozilla.org/security/announce/2010/mfsa2010-46.html), [Chrome](http://code.google.com/p/chromium/issues/detail?id=9877), [Safari](http://support.apple.com/kb/HT4070) et [Opera](http://www.opera.com/support/kb/view/943/). +- CSS avec ``. Étant donnée la [souplesse des règles de syntaxe](http://scarybeastsecurity.blogspot.dk/2009/12/generic-cross-browser-cross-domain.html) du CSS, les CSS d'origine différentes nécessitent une entête `Content-Type` correcte. Les restrictions varient selon les navigateurs : [IE](http://msdn.microsoft.com/en-us/library/ie/gg622939%28v=vs.85%29.aspx), [Firefox](http://www.mozilla.org/security/announce/2010/mfsa2010-46.html), [Chrome](http://code.google.com/p/chromium/issues/detail?id=9877), [Safari](http://support.apple.com/kb/HT4070) et [Opera](http://www.opera.com/support/kb/view/943/). - Images avec [``](/fr/docs/HTML/Element/Img). Les formats d'image supportés, comprenant PNG, JPEG, GIF, BMP, SVG... - Fichiers média avec [`