From 6772831200d14c2436aea2d0c837f40dbf12156f Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Sun, 26 Sep 2021 13:11:47 +0200 Subject: Prepare Web API section for Markdown conversion (#2464) * Remove summary classes and ids * Remove unecessary hidden * Remove useless span filled with useless attributes / ids * Remove useless font * Remove notranslate * Remove id in other elements than headings * Remove name attributes * Remove
 for JS w/ language-js class

* Remove 
 for HTML w/ language-html class

* Remove 
 for other lang w/ language-* class

* Rm highlighted line in code samples

* fix links, internal, external, absolute URLs

* missing file from last commit

* Fix styles errors apart from table + some classes

* Fix notes and warnings (+ some other :x)

* fix typo during merge which broke a doc

* aand forgot a conflict

* fix remaining classes of errors except dls and images

* Fix dls

* Fix images (deki/mozillademos) and remaining style issues

* Remove script tag from svg file

* Remove script tag from svg fileS

* Compress SVG files for CI
---
 .../document_object_model/whitespace/index.html    | 226 ++++++++++-----------
 1 file changed, 108 insertions(+), 118 deletions(-)

(limited to 'files/fr/web/api/document_object_model/whitespace/index.html')

diff --git a/files/fr/web/api/document_object_model/whitespace/index.html b/files/fr/web/api/document_object_model/whitespace/index.html
index d13a541dc7..9529722049 100644
--- a/files/fr/web/api/document_object_model/whitespace/index.html
+++ b/files/fr/web/api/document_object_model/whitespace/index.html
@@ -5,7 +5,7 @@ tags:
   - DOM
 translation_of: Web/API/Document_Object_Model/Whitespace
 ---
-

Le problème

+

Le problème

La présence d'espaces et de blancs dans le DOM peut rendre la manipulation de l'arbre de contenu difficile dans des aspects qu'on ne prévoit pas forcément. Dans Mozilla, tous les espaces et blancs dans le contenu texte du document original sont représentés dans le DOM (cela ne concerne pas les blancs à l'intérieur des balises). (C'est nécessaire en interne afin que l'éditeur puisse conserver le formatage des documents et que l'instruction white-space: pre en CSS fonctionne.) Cela signifie que :

@@ -30,38 +30,38 @@ translation_of: Web/API/Document_Object_Model/Whitespace </html>
-

+

Arbre du DOM équivalent à l'exemple HTML ci-avant

Ceci peut rendre les choses un peu plus difficiles pour les utilisateurs du DOM qui aimeraient parcourir le contenu, sans se préoccuper des blancs.

-

Rendre les choses plus faciles

+

Rendre les choses plus faciles

-

On peut formater leur code comme indiqué ci-dessous pour contourner le problème:

+

On peut formater leur code comme indiqué ci-dessous pour contourner le problème:

-
<!-- jolie impression conventionnelle
+
<!-- jolie impression conventionnelle
      avec des espaces entre les balises:
- -->
-<div>
- <ul>
-  <li>Position 1</li>
-  <li>Position 2</li>
-  <li>Position 3</li>
- </ul>
-</div>
-
-<!-- jolie impression adaptée au problème :
- -->
-<div
- ><ul
-  ><li>Position 1</li
-  ><li>Position 2</li
-  ><li>Position 3</li
- ></ul
-></div>
+ --> +<div> + <ul> + <li>Position 1</li> + <li>Position 2</li> + <li>Position 3</li> + </ul> +</div> + +<!-- jolie impression adaptée au problème : + --> +<div + ><ul + ><li>Position 1</li + ><li>Position 2</li + ><li>Position 3</li + ></ul +></div>

Le code JavaScript ci-dessous définit plusieurs fonctions facilitant la manipulation d'espaces dans le DOM :

-
/**
+
/**
  * Tout au long, les espaces sont définis comme l'un des caractères
  *  "\t" TAB \u0009
  *  "\n" LF  \u000A
@@ -70,25 +70,25 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *
  * Ceci n'utilise pas le "\s" de Javascript parce que cela inclut le non-brisement
  * espaces (et aussi d'autres caractères).
- */
+ */
 
 
-/**
+/**
  * Détermine si le contenu du texte d'un nœud est entièrement blanc.
  *
  * @param nod  Un nœud implémentant l'interface |CharacterData| (c'est-à-dire,
  *             un nœud |Text|, |Comment| ou |CDATASection|
  * @return     True (vrai) Si tout le contenu du texte du |nod| est un espace,
  *             sinon false (faux).
- */
-function is_all_ws( nod )
-{
-  // Utilise ECMA-262 Edition 3 chaînes et fonctionnalités RegExp
-  return !(/[^\t\n\r ]/.test(nod.textContent));
-}
+ */
+function is_all_ws( nod )
+{
+  // Utilise ECMA-262 Edition 3 chaînes et fonctionnalités RegExp
+  return !(/[^\t\n\r ]/.test(nod.textContent));
+}
 
 
-/**
+/**
  * Détermine si le nœud doit être ignoré par les fonctions d'itération.
  *
  * @param nod  Un objet implémentant l'interface DOM1 |Node|.
@@ -96,15 +96,15 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *                1) un nœud |Text| qui est tout en espace
  *                2) un nœud |Comment|
  *             et autrement false (faux).
- */
+ */
 
-function is_ignorable( nod )
-{
-  return ( nod.nodeType == 8) || // un nœud commentaire
-         ( (nod.nodeType == 3) && is_all_ws(nod) ); // un nœud texte, tout espace
-}
+function is_ignorable( nod )
+{
+  return ( nod.nodeType == 8) || // un nœud commentaire
+         ( (nod.nodeType == 3) && is_all_ws(nod) ); // un nœud texte, tout espace
+}
 
-/**
+/**
  * Version de |previousSibling| qui ignore les nœuds qui sont entièrement
  * espace ou commentaire.  (Normalement |previousSibling| est une propriété
  * de tous les nœuds DOM qui donnent le nœud frère, le nœud qui est
@@ -116,16 +116,16 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *               1) le frère précédent le plus proche de |sib| qui ne peut
  *                  être ignoré du fait de la fonction |is_ignorable|, ou
  *               2) null si aucun nœud n'existe.
- */
-function node_before( sib )
-{
-  while ((sib = sib.previousSibling)) {
-    if (!is_ignorable(sib)) return sib;
-  }
-  return null;
-}
-
-/**
+ */
+function node_before( sib )
+{
+  while ((sib = sib.previousSibling)) {
+    if (!is_ignorable(sib)) return sib;
+  }
+  return null;
+}
+
+/**
  * Version de |nextSibling| qui ignore les nœuds qui sont entièrement
  * espace ou commentaire.
  *
@@ -134,16 +134,16 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *               1) le frère précédent le plus proche de |sib| qui ne peut
  *                  être ignoré du fait de la fonction |is_ignorable|, ou
  *               2) null si aucun nœud n'existe.
- */
-function node_after( sib )
-{
-  while ((sib = sib.nextSibling)) {
-    if (!is_ignorable(sib)) return sib;
-  }
-  return null;
-}
-
-/**
+ */
+function node_after( sib )
+{
+  while ((sib = sib.nextSibling)) {
+    if (!is_ignorable(sib)) return sib;
+  }
+  return null;
+}
+
+/**
  * Version de |lastChild| qui ignore les nœuds qui sont entièrement
  * espace ou commentaire. (Normalement |lastChild| est une propriété
  * de tous les nœuds DOM qui donnent le dernier des nœuds contenus
@@ -154,18 +154,18 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *               1) Le dernier enfant de |sib| qui ne peut
  *                  être ignoré du fait de la fonction |is_ignorable|, ou
  *               2) null si aucun nœud n'existe.
- */
-function last_child( par )
-{
-  var res=par.lastChild;
-  while (res) {
-    if (!is_ignorable(res)) return res;
-    res = res.previousSibling;
-  }
-  return null;
-}
-
-/**
+ */
+function last_child( par )
+{
+  var res=par.lastChild;
+  while (res) {
+    if (!is_ignorable(res)) return res;
+    res = res.previousSibling;
+  }
+  return null;
+}
+
+/**
  * Version de |firstChild| qui ignore les nœuds qui sont entièrement
  * espace ou commentaire..
  *
@@ -174,18 +174,18 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  *               1) le nœud premier enfant de |sib| qui ne peut
  *                  être ignoré du fait de la fonction |is_ignorable|, ou
  *               2) null si aucun nœud n'existe.
- */
-function first_child( par )
-{
-  var res=par.firstChild;
-  while (res) {
-    if (!is_ignorable(res)) return res;
-    res = res.nextSibling;
-  }
-  return null;
-}
-
-/**
+ */
+function first_child( par )
+{
+  var res=par.firstChild;
+  while (res) {
+    if (!is_ignorable(res)) return res;
+    res = res.nextSibling;
+  }
+  return null;
+}
+
+/**
  * Version de |data| cela n'inclut pas les espaces au début
  * et termine et normalise tous les espaces dans un seul espace. (Normalement
  * |data | est une propriété des nœuds de texte qui donne le texte du nœud.)
@@ -193,40 +193,30 @@ translation_of: Web/API/Document_Object_Model/Whitespace
  * @param txt  Le nœud de texte dont les données doivent être renvoyées
  * @return     Une chaîne donnant le contenu du nœud de texte avec
  *             espace blanc s'est effondré.
- */
-function data_of( txt )
-{
-  var data = txt.textContent;
-  // Utilise ECMA-262 Edition 3 chaînes et fonctionnalités RegExp
-  data = data.replace(/[\t\n\r ]+/g, " ");
-  if (data.charAt(0) == " ")
-    data = data.substring(1, data.length);
-  if (data.charAt(data.length - 1) == " ")
-    data = data.substring(0, data.length - 1);
-  return data;
-}
- -

Exemple

+ */ +function data_of( txt ) +{ + var data = txt.textContent; + // Utilise ECMA-262 Edition 3 chaînes et fonctionnalités RegExp + data = data.replace(/[\t\n\r ]+/g, " "); + if (data.charAt(0) == " ") + data = data.substring(1, data.length); + if (data.charAt(data.length - 1) == " ") + data = data.substring(0, data.length - 1); + return data; +}
+ +

Exemple

Le code qui suit montre l'utilisation des fonctions présentées plus haut. Il parcourt les enfants d'un élément (dont les enfants sont tous des éléments) pour trouver celui dont le texte est "Ceci est le troisième paragraphe", et change ensuite l'attribut class et le contenu de ce paragraphe.

-
var cur = first_child(document.getElementById("test"));
-while (cur)
-{
-  if (data_of(cur.firstChild) == "This is the third paragraph.")
-  {
-      cur.className = "magic";
-      cur.firstChild.textContent = "This is the magic paragraph.";
-  }
-  cur = node_after(cur);
-}
- -
-

Informations sur le document original

- -
    -
  • Auteur : L. David Baron
  • -
  • Dernière mise à jour : 1er janvier 2003
  • -
  • Copyright : © 1998-2005 by individual mozilla.org contributors ; contenu disponible sous licence Creative Commons
  • -
-
+
var cur = first_child(document.getElementById("test"));
+while (cur)
+{
+  if (data_of(cur.firstChild) == "This is the third paragraph.")
+  {
+      cur.className = "magic";
+      cur.firstChild.textContent = "This is the magic paragraph.";
+  }
+  cur = node_after(cur);
+}
\ No newline at end of file -- cgit v1.2.3-54-g00ecf