Tengo un iframe, que llama a una función desde la página principal. La función es window.location, sin embargo, esto no cambia la url. ¿Hay alguna manera de que el iframe llame a una función desde la página principal, que hará que el iframe cambie la URL? También tuve una pregunta básica, si tengo un iframe y hago clic en un enlace que me lleva a una nueva página, ¿la página principal permanece abierta?

Gracias de antemano por tu ayuda. Lo siento si sueno como un completo idiota, soy nuevo en javascript.

Dave

11
Dave Smith 12 ago. 2011 a las 10:52

3 respuestas

La mejor respuesta

window.location no es una función, es un objeto .

Para hacer lo que desea, primero haga que el iframe llame a una función especial de su padre.

parent.sendMeToGoogle();

Y en la función (en padre) haz algo como:

function sendMeToGoogle(){
    document.getElementById('iframeID').src="http://google.com/";
}
14
Dani 29 mar. 2016 a las 11:46

Supongo que desea hacer más en la función de su página principal; si no, simplemente puede cambiar la url del iframe sin llamar al padre, por supuesto ...

En cuanto a su segunda pregunta, el iframe se comporta como una página ebmedded: puede navegar todo lo que quiera en el iframe sin afectar al padre (excepto, por supuesto, con llamadas javascript como la que desea usar), pero navegue con la página principal y también perderás el iframe. Espero que esa sea la explicación que estabas buscando :)

0
Steven 13 ago. 2011 a las 10:08

Si lo que realmente necesita es cambiar la URL principal, puede usar window.top.location.href='http://anotherURL.com' incluso si están en diferentes dominios, desde la página del iframe.

3
LaPuyaLoca 18 feb. 2014 a las 21:26