23 février 2007

Programmation: Equivalent du print_r en Javascript

La fonction print_r disponible en PHP est extrêmement pratique pour pourvoir afficher le contenu d'un objet ou d'un tableau. En cherchant un peu sur internet, on peut trouver des équivalents pour le langage Javascript. En voici cependant une variante qui permet d'afficher le résultat dans une nouvelle fenêtre.

/**
 * Equivalent du print_r pour javascript
 * original:
 * http://www.brandnewbox.co.uk/logbook/article/a_print_r_equivalent_for_javascript/
 */
 function print_r(obj) {
  win_print_r = window.open('about:blank', 'win_print_r');
  win_print_r.document.write('<html><body>');
  r_print_r(obj, win_print_r);
  win_print_r.document.write('</body></html>');
 }

 function r_print_r(theObj, win_print_r) {
  if(theObj.constructor == Array ||
   theObj.constructor == Object){
   if (win_print_r == null)
    win_print_r = window.open('about:blank', 'win_print_r');
   }
   for(var p in theObj){
    if(theObj[p].constructor == Array||
     theObj[p].constructor == Object){
     win_print_r.document.write("<li>["+p+"] =>"+typeof(theObj)+"</li>");
     win_print_r.document.write("<ul>")
     r_print_r(theObj[p], win_print_r);
     win_print_r.document.write("</ul>")
    } else {
     win_print_r.document.write("<li>["+p+"] =>"+theObj[p]+"</li>");
    }
   }
  win_print_r.document.write("</ul>")
 }



Commentaires: Enregistrer un commentaire



<< Home

This page is powered by Blogger. Isn't yours?