[Javaescript] Referencia a elementos entre marcos

Marc Palau marc en palaueb.com
Lun Nov 19 04:43:16 PST 2007


No, eso no es así en este caso. 

Al cargar el javascript directamente dentro de la página (generando un tag script dinámicamente en el head) el entorno de ejecución de dicho javascript es el dominio de la página. Al regenerar todo el contenido y crear dos frames seguimos dentro del mismo dominio y el panel de control inferior controla el superior.

Si ejecutas el código que he facilitado verás que al darle al botón inspect te dejará pasar por sobre de la página y te irá mostrando la información del elemento por donde estés pasando así como te mostrará un borde y el margen en dicho elemento.

La idea es que necesito acceder desde un elemento creado dinámicamente en el frame inferior (bottom) hasta el elemento superior que tendría que tener relacionado (vamos, una simple y pura referencia). Diré más, me lo hace para el elemento HTML y para el resto lo ignora. Puede tener que ver con la función recursiva??

saludos!
Marc
  ----- Original Message ----- 
  From: Pablo Viojo 
  To: Marc Palau 
  Cc: Choan C. Gálvez ; javaescript en lists.scriptia.net 
  Sent: Monday, November 19, 2007 1:33 PM
  Subject: Re: [Javaescript] Referencia a elementos entre marcos


  Buenas:

  Hasta donde yo sé, el problema pasa porque se está ejecutando código en un dominio que intenta acceder a elementos que están en otro dominio, lo cual no está permitido. En otras ocasiones he tenido que comunicar frames (dentro de un mismo dominio) y no he tenido problemas. 

  Saludos,

  -- 
  Pablo Viojo
  pviojo en gmail.com
  http://pviojo.net 



  On Nov 19, 2007 8:44 AM, Marc Palau <marc en palaueb.com> wrote:

    Por supuesto,

    umm... subo la previa y así lo véis (cosa que aún no quería hacer)  no me
    hago responsable del posible dolor de cabeza que pilleis.

    código:

    http://www.javascript.es/bmk/buxplorer.js

    que es? es un bookmarklet, para añadirlo a cualquier página ejecutar esta
    ruta en el navegador:

    javascript:scScript=document.createElement('script');scScript.src=' http://www.javascript.es/bmk/buxplorer.js?nocache='+Math.random();scScript.type='text/javascript';void(document.getElementsByTagName('head')[0].appendChild(scScript));

    (OJO CON LOS SALTOS DE LINEA DEL EMAIL). 

    Yo estoy haciendo pruebas con http://www.cdmon.com con otros webs he visto
    que lanza error.

    Cuando ejecutáis eso se generan dos frames, en uno se recarga la página 
    (top) y en el otro se inicia un debug del HTML (bottom). Lo que llevo horas
    intentando de mantener una referencia de los LIs inferiores (cada elemento
    HTML es un LI) hacia su correspondiente elemento del frame superior donde 
    hay cargada la página. Al ejecutarse la función "extreuObjecte" se recorre
    el objeto generado desde "generaObjecte" y se genera el superlistado con el
    código HTML, al hacer un debug.salida=elementoHTMLActual.tagName (esto no
    funciona, es para que os hagáis una idea) se muestra correctamente el nombre
    de la etiqueta HTML, pero al finalizar el script y lanzar un
    alert(elementoLI.referenciaAElementoHTML.tagName) nos lanza el error 
    conforme no existe dicho objeto (ya que no se ha mantenido la referencia por
    algún motivo que solo IE conoce).

    Tened en cuenta que este código es una alfa y apenas tiene funcionalidades,
    sería de mucho decoro pro vuestra parte que no lo copieis, distribuyáis o 
    guardéis hasta que no lance la versión 1.0. Más que nada porque esto de
    momento es una pieza de un trasto mucho más grande y no me gustaría verlo
    por ahí rulando sin estar terminado.

    MUCHAS GRACIAS a quien tenga el poder de ayudarme!! 

    saludos
    Marc Palau


    ----- Original Message -----
    From: "Choan C. Gálvez" <choan.galvez en gmail.com >
    To: "Marc Palau" <marc en palaueb.com>
    Cc: <javaescript en lists.scriptia.net>
    Sent: Monday, November 19, 2007 12:07 PM 
    Subject: Re: [Javaescript] Referencia a elementos entre marcos


    > Hola Marc.
    >
    > On Nov 19, 2007 10:50 AM, Marc Palau <marc en palaueb.com> wrote:
    >> Hola, 
    >>
    >> llevo un par de días comiendome la cabeza buscando el porqué no me
    >> funciona un script que estoy haciendo y despues de mucho analisis y mucha
    >> cafeina he visto que el problema radica en que IE no guarda referencias a 
    >> elementos de otros marcos, os explico:
    >>
    >> - Tengo dos marcos, uno de visualización y el otro de control (lo hago
    >> así por algunos motivos que ya os explicaré a su devido momento). 
    >> - Cuando creo el contenido del marco de control, lo hago dinámicamente y
    >> guardo (intento) referencias a elementos del marco de visualización.
    >> - Al acceder a los elementos que guardan referencias, veo que la 
    >> referencia en si no está ni definida.
    >>
    >> ¿Es posible guardar algún tipo de referencia a elementos HTML desde un
    >> marco a otro?
    >>
    >> Espero que se entienda la cuestión, ya que despues de tantas vueltas ya 
    >> no se donde tengo la cabeza.
    >>
    >> Por cierto, SOLO IE, el FF aquí no tiene nada que decir :P (tambien os lo
    >> explicaré a su devido momento).
    >>
    >> ¿Creeis que la mejor opción es obtener la ruta DOM a los elementos para 
    >> luego evaluarlo?
    >>
    >> Ya no se me pasa nada original por la cabeza!
    >
    > Ni a mí. Sin código de ejemplo ni siquiera entiendo el problema. ¿Nos
    > das más pistas?
    >
    > Un saludo.
    > --
    > Choan
    > <http://choangalvez.nom.es/>
    >

    _______________________________________________
    Javaescript mailing list 
    Javaescript en lists.scriptia.net
    http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net 




------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.scriptia.net/private.cgi/javaescript-scriptia.net/attachments/20071119/cdf4a740/attachment.htm 


Más información sobre la lista de distribución Javaescript