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

Soyez le premier à donner votre avis sur cette source.

Vue 7 439 fois - Téléchargée 476 fois

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

Ajouter un commentaire

Commentaires

LocalStone
Messages postés
515
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
J'allais te mettre 1/20 parce que j'ai copié le code et ça ne marchais pas. Ensuite, j'ai essayé avec ton exemple dans le Zip et c'est nickel. Serieux, ça peut-être extrêmement utile pour le débugage ou encore pour plein d'autre truc. Bravo.
++ ! L.S.
cs_FredT
Messages postés
66
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
11 avril 2009
-
Utile en effet LocalStone ... mais bon, la méthode est démodée je pense. Sous IE utilise la Dev Toolbar beta de microsoft. Sous Firefox et mozilla, utilise l'inspecteur DOM en parallèle à la console JavaScript, voir le débogueur (mais déjà moins accessible aux débutants).
Sinon pour le script, peter1789, franchement tu aurais pu faire un effort! Pour commencer: DomViewver sur www.brainjar.com ca va t'interresser.
Pour les remarques: J'ai testé ta page tres vite fait, et pour la lecture de ton code, je me suis arreté au nom de ta fonction.
- Sépare ton code dans un fichier JS pour le réutiliser sur n'importe quelle page
- objet comme nom de fonction, franchement ca le fait pas du tout
- l'argument element: ok je comprends tout de suite, mais chaine et nbre c'est quoi? Comment on s'en sert, pourquoi ... ?
les commentaires dans le code c'est pas seulement fait pour faire joli
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
niveau noms je suis d'accord, mais au niveau de la séparation... ça dépends de ce que tu veux faire : ici, de toute évidence, ce n'est pas un script qu'il réutiliseras dans toutes ses pages...

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.