2011-03-18 26 views
8

Tengo mi página de inicio de sesión en un iframe y deseaba volver a cargar la ventana principal usando ajax y jquery desde iframe sin refrescar pero recibo errores como este recargar ventana principal desde dentro de un iframe

 
(this[0].ownerDocument || this[0]).createDocumentFragment is not a function
por favor ayuda!

Respuesta

33

pude lograr esto mediante la recarga de la página utilizando Javascript

parent.location.reload(); 

entonces me disparó un gatillo para abrir el iframe objetivo

$("#log-inout").trigger("click"); 

que necesitaba tal sistema para una condición peculiar. Esto podría ayudar a otros en condiciones similares.

+5

Esto funciona solo si carga ambas ventanas desde la misma ubicación. De lo contrario, el navegador se rehúsa a recargar ya que es una violación de la "Política de Mismo Origen". Lo mismo se aplica a parent.location.href answer por Bert-Jan. – Pavel

3

dont molestar! ¿Por qué usar iframes si estás usando ajax?

acaba de cargar el inicio de sesión utilizando

$ ("donde desea cargar el contenido aquí") carga ("src de su iframe aquí.");

//load via ajax 
$("div").load("login.php"); 

mucho más simple y mucho más elegante.

+0

realidad quería refrescar contenidos (parentwindow) después de un usuario inicia sesión en mientras que el iframe (login) todavía está en –

+0

idea interesante , vale la pena señalar! – Andrew

17
parent.location.href=parent.location.href 

da un resultado más suave que

parent.location.reload() 

las últimas fuerzas una recarga completa, mientras que el primero parece a actualizar con mayor eficacia casi como Ajax.

+0

hhm ... ¡gracias! –

+5

No puede hacerlo si el dominio principal es diferente con el dominio iframe de esta manera. "Los protocolos, los dominios y los puertos deben coincidir". –

0

Se puede utilizar:

window.parent.location.href = "Create?Param=value"; 

O:

window.parent.location.href = "http://www.stackoverflow.com"; 
Cuestiones relacionadas