2011-01-19 11 views
5

Estoy intentando escribir una aplicación JavaScript que cargue un botón en un iFrame en una página. Esta aplicación leerá el documento principal y eliminará todas las imágenes, aplicará un estilo mínimo y volverá a cargar el elemento principal con esta página recientemente marcada.Lectura del documento primario de iFrame y cambio de elemento primario

El problema que tengo es leer y escribir el documento principal del iFrame. ¿Alguien sabe de una manera de lograr esto? He leído un poco sobre mensajería entre dominios, pero no estoy seguro de las alternativas y cuál sería la mejor.

Gracias de antemano.

+1

Si la página está en un dominio y el iframe apunta a otro dominio, no puede hacerlo a través de iframes. – mhitza

Respuesta

13

Puede hacer referencia al elemento primario utilizando parent o utilizando la variable superior que siempre apunta al documento más externo.

  • padres == ventana padre
  • superior == a cabo la mayor ventana

Así que para accesing la primera div en el padre

var d = parent.document.getElementByTagName("div")[0]; 

Pero, como ya se ha señalado en el comentario, tanto el documento externo como el documento en el iframe deben pertenecer al mismo dominio o serás bloqueado por razones de seguridad.

+0

Gracias por la respuesta. Fui con la función de mensajería entre dominios HTML5, que se describe aquí: http://dev.w3.org/html5/postmsg/#introduction – MeanwhileInHell

+0

Esto no se ve bien, los padres y el punto superior de la ventana, no el documento . – Christophe

+0

Como nota, es 'document.getElementsByTagName'. ¡Funciona! –

Cuestiones relacionadas