javascript - uncaught - Accede y cambia la página padre desde iframe(con jQuery)
parentwindow (3)
¿Hay alguna manera de acceder desde la página de iframe a parrent (y cambiar la página de parrent)?
<body>
<iframe src="frame1.html" name="frame1" height="100%"></iframe>
<div id="test1"></div>
</body>
En frame1.html es <a href=..>
y quiero agregar el texto " <h1>clicked</h1>
" en <div id="test1"></div>
, cuando <a href..>
Se hizo clic.
Gracias.
El siguiente código debería funcionar bien:
$(parent.document).find("#selector");
El selector es del documento padre para realizar alguna acción. Por ejemplo:
$(parent.document).find("#selector").remove();
Si su página secundaria (frame1.html) se encuentra en el mismo dominio que la página principal, puede escribir un código como el siguiente en la ventana secundaria:
$(''#test1'', parent.document).html(''<h1>clicked</h1>'');
El segundo parámetro proporciona el context
en el que buscar el elemento que coincida con el primer parámetro. El documento está aquí: http://api.jquery.com/jQuery/#jQuery-selector-context
jQuery( selector [, context ] )
Entonces, su código (frame1.html) podría ser así:
<a href="..."
onclick="$(''#test1'', parent.document).html(''<h1>clicked</h1>'');">click me</a>
Espero que esto ayude.
Nota importante: el acceso a iframes de entrada y salida solo es posible, si ambos, padre e iframe son del mismo dominio, de lo contrario, no tendrá acceso debido a la Política de Same Origin .
Tenga en cuenta que ambas partes tienen su propio documento. Acceder al objeto padre desde iframe es simple con
parent.document
y de los padres es uno de los siguientes:
window.frames[''iframeName'']
(window.frames.length /*gives you the number of iframes in your document*/ )
o haga una referencia con ID y haga lo siguiente (¡tenga cuidado!)
var iframe = document.getElementById(''iframe'');
var doc = iframe.contentDocument? iframe.contentDocument:iframe.contentWindow.document;