Listage des objets, méthodes et propriétés

Description

Ce script liste tous les objets et sous-objets de window, ainsi que leurs propriétés et méthodes. Ces éléments sont organisés selon la hiérarchie objet javascript, comme l'arborescence de l'explorateur de microsoft windows.

Source / Exemple :


<html><head> 
<title></title> 
</head><body>
<div id="objets">
<a href="javascript:objet(window,'window',1)">window</a> : [object Window]<br />
<div style="margin-left:30px;" id="window"></div>
</div>
<script type="text/javascript">
<!--
function objet(element,chaine,nbre) {
	if (document.getElementById(chaine).innerHTML == "") {
		for (var a in element) {
			if (((String(a) == 'clientInformation') || (String(a) == 'external') || (String(a) == 'navigator')) && (navigator.appName.substr(0,3) == "Mic")) {
			document.getElementById(chaine).innerHTML += a +" : accès refusé<br />";
			continue;
			}
			if (String(a) != 'objet') {
				if ((navigator.appName.substr(0,3)!="Mic")? String(element[a]).search(/^\[object [a-zA-Z0-9]+\]$/) != -1 : String(element[a]).search(/^\[object\]$/) != -1) {
					if (document.getElementById(String(a))) {
					document.getElementById(chaine).innerHTML += a +" : "+ element[a] +"<br />";
					}
					else {
					document.getElementById(chaine).innerHTML += "<a href='javascript:objet("+ chaine.replace(/_([0-9]+)/g,"[$1]").replace(/_/g,".") + ((isNaN(parseInt(a)))? "."+ a : "["+ a +"]") +",\""+ chaine +"_"+ a +"\","+ (nbre + 1) +")'>"+ a +"</a> : "+ element[a] +"<br /><div style='margin-left:"+ (nbre*30) +"px;' id='"+ chaine +"_"+ a +"'></div>";
					}
				}
				else {
				document.getElementById(chaine).innerHTML += a +" : "+ ((String(element[a]).length > 100)? "accès refusé" : element[a]) +"<br />";
				}
			}
		}
	}
	else {
	document.getElementById(chaine).style.display = (document.getElementById(chaine).style.display == "")? "none" : "";
	}
}
//-->
</script>
</body></html>

Conclusion :


Ce script est basé sur la boucle for-in. Aucun bug connu.

Codes Sources

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.