Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# show_dom

Envoyé par : Utilisateur anonyme

Date : 01/09/2004 14:19

Bonjour, j'ai fait une petite routine qui permet d'afficher dynamiquement le contenue d'un bout de XML en html :)

Trés pratique pour debugger ^^

function show_dom(elm)
{
	//var a; for(var b in elm)	a+=b+" : "+elm[b]; return a;
	var b = elm.attributes;
	var att="";
	if(b)	for(var i=0; i<b.length; i++)	att+=" "+b.item(i).nodeName+'="'+b.item(i).nodeValue+'"';
		if(elm.firstChild){
		var c = elm.firstChild
		var a = "&lt;"+elm.nodeName+att+"&gt;<br/>";
		a+="<table><tr><td width='20'></td><td>";
		do{
			a+=show_dom(c);
		} while(c=c.nextSibling)
		a+="</td></tr></table>";
		a+="&lt;/"+elm.nodeName+"&gt;<br/>";
	} else {
		if(elm.data) var a="&lt;"+elm.nodeName+att+"&gt;"+elm.data+"&lt;/"+elm.nodeName+"&gt;<br/>";
		else var   a="&lt;"+elm.nodeName+att+"/&gt;<br/>";
	}
	return a;
}

Exemple d'utilisation ^^

mail=document.getElementById('mail');
msg=open('','debug','width=1000,height=500');
msg.document.writeln(show_dom(mail);
msg.document.close();

Je serait heureux si sa peut dépanné du monde ^^

nb: je ne garantie pas que la routine marchera à tout les coups ^^

nb2: Sa serait bien d'avoir une section trucs & astuces sur le site ^^

# Re: show_dom

Envoyé par : laurentj

Date : 07/09/2004 11:04

Il y a aussi tout simplement "afficher la source", dans le navigateur ;-)

# Re: show_dom

Envoyé par : ptitrene

Date : 07/09/2004 14:09

laurentj a écrit:

Il y a aussi tout simplement "afficher la source", dans le navigateur ;-)

Il me semble qu'il y a une différence notable "afficher la source" va nous fournir l'image du DOM à l'initialisation de la page, alors que je pense que cette fonction peut rendre une image dynamique de la page (utile si des balises ont été ajoutées par le biais d'un script...)

# Re: show_dom

Envoyé par : Utilisateur anonyme

Date : 08/09/2004 14:01

La fonction vas beaucoups plus loin qu'afficher la source :

  • Elle peut afficher un bout de la source ..
  • Elle affiche les arguments definit implicitement ( si la case est coché)
  • Elle est capable d'afficher du code généré par du js
  • Elle peut afficher des autres XML que le XUL ( je m'en sert pour voir les réponses des webservices)

Un petit exemple ^^

var listitem = document.createElement("listitem");

var listcell = document.createElement("listcell");
listcell.setAttribute("label",name);
listitem.appendChild(listcell);

var listcell = document.createElement("listcell");
listcell.setAttribute("label",sujet);
listitem.appendChild(listcell);

// On attache le code généré dans la page :)
document.getElementById('un_id_dans_le_code').appendChild(listitem);

var msg=open('','toto','width=1000,height=500');
msg.document.writeln(show_dom(listitem));
msg.document.close();

Voila un exemple qui n'est pas afficher avec "afficher la source"

autre exemple avec les webservices :)

function  web_service_responce(resp,call,status) {
 msg=open('','toto','width=1000,height=500');
 msg.document.writeln(show_dom(resp.body.firstChild.firstChild));
 msg.document.close();
}

Si sa ne vous à pas convaincu :)

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.