2010-04-16 15 views
5

Estoy intentando añadir un proceso de carga de una ventana emergente en la siguiente forma:Javascript añadiendo proceso de carga a una ventana emergente

var explorerWindow = window.open(PARAMS...); 
explorerWindow.onload = function() {window.opener.unlockObj(id);} 

La idea es hacer que el botón que genera la ventana emergente de sólo lectura, lo que hace se puede usar nuevamente una vez que la ventana emergente haya cargado todos sus contenidos. Sin embargo, el evento no parece estar disparando en absoluto. Incluso me cambié a la siguiente y no tengo nada:

explorerWindow.onload = function() {alert("bloop");} 

¿Hay algo terriblemente mal con mi sintaxis o me estoy perdiendo algo completamente distinto? Además, estoy usando JQuery si hay gemas apropiadas allí que ayudarán en esta situación. He intentado lo siguiente con resultados similares, pero no estoy tan seguro de que tengo el derecho de llamada:

$(explorerWindow).load(function() {alert("bloop");}); 

Cualquier ayuda es muy apreciada.

Respuesta

1

Esto no funcionará en todos los navegadores. Yo sugeriría poner el manejador onload en el documento cargado en la nueva ventana y tener que llamar a la página original:

window.onload = function() { 
    opener.doStuff(); 
} 
-1

De hecho, me las arreglé para conseguir que funcione en los navegadores que tengo que apoyar con la siguiente :

explorerWindow.onload = new function() { explorerWindow.opener.unlockObj(id); } 

Gracias por la respuesta aunque Tim.

+0

¿De verdad? Sugiero que lo pruebes con cuidado. Gracias al uso de 'new', que llamará' unlockObj (id) 'inmediatamente (sin esperar a que la nueva ventana se cargue primero) y que está asignando un objeto en lugar de una función a' explorerWindow.onload', lo que hará nada (al menos, nada útil). Esa línea será prácticamente equivalente a llamar a 'unlockObj (id);'. –

Cuestiones relacionadas