Envoyé par : mlapt
Date : 05/10/2006 17:05
Bonjour
Je cherche à créer un XHTMLDocument vierge, y charger une page xhtml, la modifier avec DOM puis affecter ce doc à un objet 'browser' pour la rendre visible.
1) J'ai essayé ce ceci :
var xmldoc = document.implementation.createDocument("http://www.w3.org/1999/xhtml", "html", null); xmldoc.async = false; // ??? est-ce juste ??? xmldoc.load("chrome://myproj/content/data/index.xhtml");
Mais à priori cela ne marche pas car :
var serializer = new XMLSerializer(); var xml = serializer.serializeToString(xmldoc);
xml est vide ???
2) Ensuite est-ce que je pourrai la modifier avec DOM comme ceci :
...getElementsByTagName('balise')[0].firstChild.data = 'mytest';
3) Et comment affecter ensuite ce doc à un objet 'browser' ???
En gros, je cherche à faire du PHP, pas réellement mais presque... ;-)
Merci beaucoup.
Envoyé par : laurentj
Date : 09/10/2006 14:50
En gros, je cherche à faire du PHP, pas réellement mais presque... ;-)
C'est peut être ça ton problème :-p
Pourquoi tu n'ouvres pas directement ton document dans le browser justement ??
Envoyé par : mlapt
Date : 10/10/2006 15:27
laurentj a écrit:
> En gros, je cherche à faire du PHP, pas
réellement mais presque... ;-)
C'est peut être ça ton problème :-p
Pourquoi tu n'ouvres pas directement ton document
dans le browser justement ??
Si je fais ça, le document HTML va s'afficher et ensuite seulement je vais pouvoir le modifier et le contenu va changer par la suite... donc c'est pas génial non ?
Voilà pourquoi j'essaie de contourner le pb.
Ps : en plus il y a le pb que le document HTML se charge de manière asynchrone et donc je ne sais pas quand il est fini de chargé.
Envoyé par : neolao
Date : 11/10/2006 11:11
Tu charges avec XMLHttpRequest, donc tu sais quand c'est fini de charger grace à un événement.
Dès que tu obtiens la source en texte donc, tu peux modifier avec le DOMParser :
var dom = new DOMParser(); var doc = dom.parseFromString(ton_texte, "text/xml");
Après, utiliser
ton_browser.contentDocument
pour insérer ton DOM modifié
PS: purement théorique, jamais testé
Envoyé par : mlapt
Date : 13/10/2006 16:57
Je charge bien le doc avec XMLHttpRequest, ensuite je le modifie bien avec le DOM (d'ailleurs on peut s'affranchir du DOMParser sur le responseText si on prend directement le responseXML) mais je n'arrive pas à réaffecter le tout dans le browser !
Envoyé par : mlapt
Date : 13/10/2006 17:11
mlapt a écrit:
Je charge bien le doc avec XMLHttpRequest, ensuite
je le modifie bien avec le DOM (d'ailleurs on peut
s'affranchir du DOMParser sur le responseText si
on prend directement le responseXML) mais je
n'arrive pas à réaffecter le tout dans le browser
!
Je viens de trouver une méthode (cf. ci-dessous) mais il y a sans doute mieux non ? Vos avis svp ? Merci encore.
var serializer = new XMLSerializer(); var contenu = serializer.serializeToString(doc.documentElement); document.getElementById("browser").setAttribute("src", "data:text/html,"+contenu);
Envoyé par : laurentj
Date : 16/10/2006 18:17
Si je fais ça, le document HTML va s'afficher et ensuite seulement je vais pouvoir le modifier et le contenu va changer par la suite... donc c'est pas génial non ?
Je ne sais pas pourquoi tu tiens tout à faire en cachette, mais tu n'a que ce moyen.
Et pour detecter la fin d'un chargement de page, tu as ceci : /wiki/RessourcesLibs/CapturerChangementU(..)
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.