ejemplos ejemplo atributos javascript iframe

javascript - ejemplo - Accediendo a un elemento fuera del iframe



parent iframe (3)

La comunicación entre un iframe y el documento principal no es posible para recursos de origen cruzado. Solo funcionará si el iframe y la página que lo contiene pertenecen al mismo host, puerto y protocolo, por ejemplo, http://example.com:80/1.html y http://example.com:80/2.html.

Para los recursos de origen cruzado, puede usar window.postMessage para comunicarse entre los dos, pero esto solo es útil si el navegador admite este método y si tiene control sobre ambos recursos. Hay más información detallada sobre window.postMessage en la página de MDC: https://developer.mozilla.org/en/DOM/window.postMessage

Editar - suponiendo que ambos recursos son del mismo origen

En el iframe, window.parent se refiere al objeto global del documento principal, no al objeto del documento en sí. Creo que necesitarías usar parent.document.getElementById

Tengo un archivo: 1.html y un iframe dentro de él.
Quiero acceder a un elemento (digamos myelement) que existe en 1.html (fuera de iframe) del iframe .
¿Cómo puedo hacer eso?
Lo intenté:

top.getElementById("myelement") top.document.getElementById("myelement") parent.getElementById("myelement") parent.document.getElementById("myelement")

pero no funcionó !!



La comunicación entre un iframe y el documento padre no es posible para recursos de origen cruzado

eso está mal de muchas maneras, ni siquiera quiero saber por dónde empezar. Por supuesto, las solicitudes de dominios cruzados y los intercambios de algoritmos tienen una larga historia, están bien documentados y funcionan ahora, uno puede iniciar solicitudes JSON o incluso solicitudes XMLHttp simples a través de JQuery, por ejemplo, incluso puede cargar archivos .js completos. archivos Y inyéctelos en su código; el código de inyección en fuentes remotas necesitará, por supuesto, una interfaz adecuada; uno puede lograr tal cosa a través de la comunicación con las personas responsables, simplemente pregúnteles amablemente y tal vez cooperarán si su proyecto tiene sentido y tiene su uso.

Para responder a la pregunta: el acceso a documentos completos plantearía la necesidad de transferirlo de antemano. Recomendaría XML para ese fin porque el árbol DOM y el XML son casi intercambiables. Cargue el árbol a través de .get ( .ajax para hosts remotos), agréguelo a esto y acceda a él de la manera que desee ... suena fácil y si tiene experiencia, ES FÁCIL. Si alguna vez lees nuevamente "dominio cruzado" y "no es posible" en la misma oración, también podrías ignorar el cartel: hay muchas personas que no saben de lo que están hablando ;-)