Foros del Web » Programando para Internet » Javascript »

Detectar objetos

Estas en el tema de Detectar objetos en el foro de Javascript en Foros del Web. Hola amigos: ¡Una curiosidad! Cuando se hace un bucle for en un array asociativo, ¿hay forma de detectar objetos... ? El código que tengo es ...
  #1 (permalink)  
Antiguo 30/04/2004, 15:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Detectar objetos

Hola amigos:

¡Una curiosidad!

Cuando se hace un bucle for en un array asociativo, ¿hay forma de detectar objetos... ?

El código que tengo es este:

Código PHP:
<html>
<
head>
<
title>
 
Destripador
</title>
<
script>
function 
destripar(que) {
 var 
nombre_objeto que;
 var 
objeto = eval(nombre_objeto);
 var 
es_objeto = /object/;
 var 
mostrar "";
 for (
_item in objeto) {
  
mostrar += nombre_objeto "." +  _item " = " + eval(nombre_objeto "." _item);
//  mostrar += (es_objeto.test("" + _item + "")) ? " +" : " -";
//  mostrar += (_item.indexOf("object") >= 0) ? " (+)" : " (-)";
//  destripar(nombre_objeto + "." + _item);
  
mostrar += "<br />\n";
 }
// document.body.innerHTML = mostrar;
return mostrar;
}
</script>
</head>
<body onload="document.body.innerHTML = destripar('document.body')">
</body>
</html> 
Las líneas de comentarios son las pruebas que hice. Tenía intención de hacerlo recursivo (la última prueba)

Saludos
  #2 (permalink)  
Antiguo 01/05/2004, 00:24
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 9 meses
Puntos: 11
si con un if antes del for

Código PHP:
function destripar(que) {
 var 
nombre_objeto que;
 var 
objeto = eval(nombre_objeto);
 var 
es_objeto = /object/;
 var 
mostrar "";

 if (
objeto) {
   for (
_item in objeto) {
    
mostrar += nombre_objeto "." +  _item " = " + eval(nombre_objeto "." _item);
    
mostrar += "<br />\n";
    }
  }
  else {
    
mostrar += nombre_objeto " no existe<br />\n";
 }
return 
mostrar;

  #3 (permalink)  
Antiguo 01/05/2004, 12:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

Hola Tuk :
Supongo que para elementos inexistentes esa idea podría valer, pero mi intención era otra, y de todas maneras he tenido que desistir del proyecto inicial.

La idea básica es recorrer el arbol del documento a partir del objeto window y con recursión "destripar todo un documento", pero es imposible ya que el objeto window tiene la propiedad window y la propiedad self (no tengo muy claro si son propiedades o atributos), incluso explorer al mostrar la lista de objetos "hijos" el primero es top, que es una objeto window y la recursión es infinita, así que no me vale.

Sé que es lioso, pero supongo que sabes de lo que hablo.
Hace un tiempo hice un inspector DOM que subí en esta dirección: http://www.pepemolina.com/DOM/
Si te fijas, se genera el árbol de un documento y va bien, pero usando nodos y métodos que afectan a nodos (sobre todo childNodes, nodeType y nodeName)... Ahora pretendía mediante arrays asociativos generar el árbol del documento desde el objeto window, que realmente es interesante (a nivel académico), pero debido a la recursión infinita decidí pasar de recursión y generar mediante enlaces (y botones) los objetos y sus propiedades de a uno.

Si te interesa la página es ésta: http://www.pepemolina.com/DOM/destripador.html

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:33.