Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# dump + template

Envoyé par : woogluf

Date : 22/03/2006 00:25

Bonsoir,

y a t-il un moyen de faire un "dump" du contenu d'un window contenant un template.

Plus généralement, est-ce qu'il existe un moyen de débuger un template ?

# Re: dump + template

Envoyé par : chBok

Date : 22/03/2006 11:01

As tu essayé avec l'inspecteur DOM ?

Normalement, les template s'affichent en rouge dans l'arborescence.

# Re: dump + template

Envoyé par : woogluf

Date : 22/03/2006 11:40

J'utilise xul eclipse (qui lance donc xulrunner). Y-a-t'il un moyen d'afficher l'inspecteur DOM avec xulrunner ?

# Re: dump + template

Envoyé par : chBok

Date : 22/03/2006 11:49

Ah zut, je n'utilise pas xulrunner, donc je ne pourrais pas te le dire. Quelqu'un d'autre sait ?

# Re: dump + template

Envoyé par : woogluf

Date : 22/03/2006 12:19

Si quelqu'un sait aussi comment afficher la console javascript, ce serait parfait :)

# Re: dump + template

Envoyé par : woogluf

Date : 22/03/2006 12:31

J'ai trouvé pour la console javascript :

function showConsole() {
	window.open("chrome://global/content/console.xul", "_blank", "chrome,extrachrome,menubar,resizable,scrollbars,status,toolbar");
}

Il ne reste plus que DOM Inspector...

# Re: dump + template

Envoyé par : woogluf

Date : 26/03/2006 19:31

J'ai recompilé xulrunner pour avoir venkman et DOM inspector.

Est-ce que quelqu'un sait comment les lancer tous les deux ?

# Re: dump + template

Envoyé par : Paul Rouget

Date : 26/03/2006 20:40

pour lancer la console js:

xulrunner blablabla -jsconsole

# Re: dump + template

Envoyé par : kriks

Date : 05/04/2006 10:43

j'avais aussi pas mal galéré pour trouver comment lancer l'inspector dom.

finalement, j'utilise ça:

//domtreewalker
var whitespaceNodeFilter = new Object();
whitespaceNodeFilter.acceptNode = function(node){
 return (node.nodeType==Node.TEXT_NODE &&
        (node.nodeValue=='\n' || node.nodeValue==' '))?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT;
}
if(!NodeFilter) NodeFilter=null;
function walk(nm,ft){
 if(document.getElementById && document.createTreeWalker){
   var filter,whatToShow=NodeFilter.SHOW_ALL;
   switch(ft){
   case  1: filter=whitespaceNodeFilter; break;
   default: filter=null; break;
   }
   var node=document.getElementById(nm);
   var walker=document.createTreeWalker(node,NodeFilter.SHOW_ALL,filter,true);
   return doWalk(walker,'');
 }
 return true;
}
function doWalk(walker,m)
{
 var s='';
 if(walker.firstChild())
 {
   do
   {
     var curNode=walker.currentNode;
     switch(curNode.nodeType)
     {
     case Node.ELEMENT_NODE:
       s+=m+'<'+curNode.tagName;
       var nb_attr = curNode.attributes.length;
       for(var i=0;i<nb_attr;i++)
       {
         var prop = curNode.attributes.item(i);
         s+=' '+prop.nodeName+'="'+prop.nodeValue+'"';
       }
       s+='>\n';
       break;
     case Node.TEXT_NODE:
       s+=m+curNode.nodeName+'('+escape(curNode.nodeValue)+')\n';
       break;
     default:
       s+=m+curNode.nodeName+'\n';
       break;
     }
     s+=doWalk(walker,m+'  ');
   } while(walker.nextSibling());
   walker.parentNode();
 }
 return s;
}

on l'utilise comme ça:

dump(walk('id_objet_racine'));

il faut evidemment que la console sois visible

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.