Bonjour à tous,

J'ai trouvé une fonction js qui me permettrait de simuler un print_r php en js :

J'ai donc ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function print_r(obj)
{
  alert("ici");
  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] == null)
      {
       theObj[p] = "NULL";
      }
 
      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>")
    }
}
qui ne semble pas fonctionner parce que firebug me dit :

TypeError: win_print_r is null
[Stopper sur une erreur]

win_print_r.document.write('<html><body>');
L'alerte tout au-dessus du code s'enclenche, j'arrive donc dans la fonction.

Merci d'avance pour votre aide.

bee