Print_r en javascript

Contenu du snippet

Ce script permet d'afficher toutes les propriétés d'un objet déclaré en javascript (évènement, balise via un getElement...)

Source / Exemple :


function print_r(obj) {

	win_print_r = document.getElementById("print_r");
	
	if (!win_print_r) {
		win_print_r = document.createElement("div");
		win_print_r.id = "print_r";
		win_print_r.style.opacity = "0.7";
		win_print_r.style.position = "absolute";
		win_print_r.style.background =" none repeat scroll 0% 0% rgb(0, 0, 0)";
		win_print_r.style.border = "2px solid rgb(255, 255, 255)"; 
		win_print_r.style.zIndex = "9000";
		win_print_r.style.top = "15px";
		win_print_r.style.right = "20px";
		win_print_r.style.color = "#FFF";
		win_print_r.style.maxWidth = "33%";

		document.body.appendChild(win_print_r);
	}
	
	if(obj !== undefined) {
		r_print_r(obj, win_print_r);
	} else {
		win_print_r.innerHTML="undefined";
	}
	
 }

function r_print_r(theObj, win_print_r) {
	
	prop = "<ul>";
	/*if(theObj.constructor == Array || theObj.constructor == Object){
		
	}*/
	
	for(var p in theObj){
		
		if(p !== undefined) {
			if(p.constructor == Array||	p.constructor == Object){
				prop+="<li>["+p+"] =>"+typeof(theObj)+"</li>";
				prop+="<ul>";
				r_print_r(theObj[p], win_print_r);
				prop+="</ul>";

			} else {
				prop+="<li>["+p+"] =>"+theObj[p]+"</li>";
			}
		}
	}
	prop+="</ul>";
		
	win_print_r.innerHTML = prop;
}

//appel de la fonction

var obj = { 

    attribut: "valeur", 

    methode: function(parametre1, parametre2) { 

        alert("parametres: " + parametre1 + ", " + parametre2); 

    } 

}

print_r(obj);

Conclusion :


Ce code permet de surveiller un évènement, ou un objet à un moment donné.

Bien évidemment, elle peut être améliorée (notamment lorsqu'on essaie de faire un print_r d'un String, la fonction affiche la chaine sous forme de tableau) !

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.