From 99efa5cfa34c3f9d38b75352881acdfc99508ebf Mon Sep 17 00:00:00 2001 From: tristantheb Date: Fri, 2 Apr 2021 13:50:14 +0200 Subject: UPDATE: FR-ONLY - Remove all old CompatibilityTable to replace with {{Compat()}} (#311) * UPDATE: Removing CompatibilityTable script - Part 1 * UPDATE: Removing CompatibilityTable script - Part 2 * UPDATE: Removing CompatibilityTable script - Part 3 * UPDATE: Removing CompatibilityTable script - Part 4 * UPDATE: Removing CompatibilityTable script - Part 5/5 * FIX: Repair the EOL of one page * FIX: Fix conflicting file --- files/fr/web/api/domparser/index.html | 248 ++++++++-------------------------- 1 file changed, 58 insertions(+), 190 deletions(-) (limited to 'files/fr/web/api/domparser') diff --git a/files/fr/web/api/domparser/index.html b/files/fr/web/api/domparser/index.html index a907066096..0151f9bec4 100644 --- a/files/fr/web/api/domparser/index.html +++ b/files/fr/web/api/domparser/index.html @@ -11,220 +11,88 @@ translation_of: Web/API/DOMParser ---

{{APIRef("DOM")}}

-

L'interface DOMParser permet d'analyser le code source {{Glossary("XML")}} ou {{Glossary("HTML")}}  à partir d'une chaîne dans un {{domxref("Document")}} DOM.

- -
-

Note : {{domxref("XMLHttpRequest")}} prend en charge l'analyse XML et HTML directement à partir des ressources adressables par URL, retournant un  Document dans sa propriété  {{domxref("XMLHttpRequest.reponse", "response")}} .

-
+

L'interface DOMParser permet d'analyser le code source {{Glossary("XML")}} ou {{Glossary("HTML")}} d'une chaîne de caractères dans le DOM {{domxref("Document")}}.

Vous pouvez effectuer l'opération inverse - convertir un arbre DOM en source XML ou HTML - en utilisant l'interface {{domxref("XMLSerializer")}}.

-

Dans le cas d'un document HTML, vous pouvez également remplacer des parties du DOM par de nouveaux arbres DOM construits à partir de HTML en définissant la valeur de {{domxref("Element.innerHTML")}} et des propriétés {{domxref("Element.outerHTML","outerHTML")}}. Ces propriétés peuvent également être lues pour récupérer des fragments HTML liés à la sous-arborescence DOM correspondante.

- -

Création d'un DOMParser

- -

Pour créer un objet DOMParser, utilisez simplement DOMParser().

- -

Analyse XML

- -

Une fois que vous avez créé un objet d'analyse, vous pouvez analyser XML à partir d'une chaîne à l'aide de la méthode {{domxref("DOMParser.parseFromString","parseFromString()")}} :

- -
var parser = new DOMParser();
-var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");
+

Dans le cas d'un document HTML, vous pouvez également remplacer des parties du DOM par de nouveaux arbres DOM construits à partir de HTML en définissant la valeur des propriétés {{domxref("Element.innerHTML", "innerHTML")}} et {{domxref("Element.outerHTML", "outerHTML")}}. Ces propriétés peuvent également être lues pour récupérer les fragments HTML correspondant au sous-arbre DOM correspondant.

-

Gestion d'erreurs

+

Notez que {{domxref("XMLHttpRequest")}} peut analyser le XML et le HTML directement à partir d'une ressource adressable par URL, en renvoyant un Document dans sa propriété {{domxref("XMLHttpRequest.response", "response")}}.

-

Notez que si le processus de traitement échoue, DOMParser ne génère aucune exception mais retourne à la place un document d'erreur :

+

Constructeur

-
<parsererror xmlns="http://www.mozilla.org/newlayout/xml/parsererror.xml">
-(error description)
-<sourcetext>(a snippet of the source XML)</sourcetext>
-</parsererror>
+
+
{{domxref("DOMParser.DOMParser","DOMParser()")}}
+
Crée un nouvel objet DOMParser.
+
-

Les erreurs d'analyse sont aussi renvoyées à la console d'erreur, avec l'URI du document (voir plus bas) comme la source d'erreur.

+

Méthodes

-

Analyse d'un document SVG ou HTML

+
+
{{domxref("DOMParser.parseFromString()")}}
+
Analyse une chaîne de caractères à l'aide de l'analyseur HTML ou de l'analyseur XML, et retourne un {{domxref("HTMLDocument")}} ou {{domxref("XMLDocument")}}.
+
-

Le DOMParser peut également être utilisé pour analyser un document SVG {{geckoRelease ("10.0")}} ou un document HTML {{geckoRelease ("12.0")}}. Trois résultats différents sont possibles, sélectionnés par le type MIME donné. Si le type MIME est text/xml, l'objet résultant sera un XMLDocument, si le type MIME est image/svg + xml, ce sera un SVGDocument et si le type MIME est text/html, ce sera un HTMLDocument.

+

Exemple

-
var parser = new DOMParser();
-var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");
-// retourne un document, mais pas un SVGDocument ni un HTMLDocument
+

Analyse syntaxique de XML, SVG et HTML

-parser = new DOMParser(); -doc = parser.parseFromString(stringContainingSVGSource, "image/svg+xml"); -// retourne un SVGDocument,
qui est aussi un document. +

Cet exemple montre comment analyser le XML, le SVG et le HTML. Notez qu'un type MIME de text/html invoquera l'analyseur HTML, et que tout autre type MIME accepté par cette méthode invoquera l'analyseur XML.

-parser = new DOMParser(); -doc = parser.parseFromString(stringContainingHTMLSource, "text/html"); -// retourne un HTMLDocument,
qui est aussi un document.
+
const parser = new DOMParser();
 
-

Extension HTML DOMParser pour les autres navigateurs

+const xmlString = "<warning>Attention au tigre</warning>"; +const doc1 = parser.parseFromString(xmlString, "application/xml"); +// XMLDocument -
/*
- * DOMParser HTML extension
- * 2012-09-04
- *
- * By Eli Grey, http://eligrey.com
- * Public domain.
- * AUCUNE GARANTIE EXPRESSE OU IMPLICITE. À UTILISER À VOS RISQUES ET PÉRILS. 
- */
+const svgString = "<circle cx=\"50\" cy=\"50\" r=\"50\"/>";
+const doc2 = parser.parseFromString(svgString, "image/svg+xml");
+// XMLDocument
 
-/*! @source https://gist.github.com/1129031 */
-/*global document, DOMParser*/
+const htmlString = "<strong>Attention au léopard</strong>";
+const doc3 = parser.parseFromString(htmlString, "text/html");
+// HTMLDocument
 
-(function(DOMParser) {
-	"use strict";
+console.log(doc1.documentElement.textContent)
+// "Attention au tigre"
 
-	var proto = DOMParser.prototype,
-        nativeParse = proto.parseFromString;
+console.log(doc2.firstChild.tagName);
+// "circle"
 
-	// Firefox/Opera/IE lancent des erreurs sur les types non pris en charge 
-	try {
-		//  WebKit renvoie null sur les types non pris en charge 
-		if ((new DOMParser()).parseFromString("", "text/html")) {
-			// text/html l'analyse est supportée nativement 
-			return;
-		}
-	} catch (ex) {}
+console.log(doc3.body.firstChild.textContent);
+// "Attention au léopard"
+
- proto.parseFromString = function(markup, type) { - if (/^\s*text\/html\s*(?:;|$)/i.test(type)) { - var - doc = document.implementation.createHTMLDocument("") - ; - if (markup.toLowerCase().indexOf('<!doctype') > -1) { - doc.documentElement.innerHTML = markup; - } - else { - doc.body.innerHTML = markup; - } - return doc; - } else { - return nativeParse.apply(this, arguments); - } - }; -}(DOMParser));
- -

Spécifications

+

Spécifications

- - - - - - - - - - - - - - + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('DOM Parsing', '#the-domparser-interface', 'DOMParser')}}{{Spec2('DOM Parsing')}}Définition initiale
SpécificationStatutCommentaire
{{SpecName('HTML WHATWG', '#dom-parsing-and-serialization', 'DOM parsing')}} + {{Spec2('HTML WHATWG')}}
-

Compatibilité des navigateurs

- -

{{CompatibilityTable}}

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
XML support{{CompatChrome(1)}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(1)}}{{CompatIE(9)}}{{CompatOpera(8)}}{{CompatSafari(3.2)}}
SVG support{{CompatChrome(4)}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(10.0)}}{{CompatIE(10)}}{{CompatOpera(15)}}{{CompatSafari(3.2)}}
HTML support{{CompatChrome(30)}}{{CompatVersionUnknown}}{{CompatGeckoDesktop(12.0)}}{{CompatIE(10)}}{{CompatOpera(17)}}{{CompatSafari(7.1)}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
XML support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
SVG support{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile(10.0)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
HTML support{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile(12.0)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
+

Compatibilité des navigateurs

-

Voir aussi

+

{{Compat("api.DOMParser", 3)}}

+ +

Voir aussi

-
-
- -
 
-- cgit v1.2.3-54-g00ecf