2010-04-16 13 views
5

Próbuję dołączyć zdarzenie onload do okna podręcznego w następujący sposób:onload JavaScript dołączanie do okna podręcznego

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

Chodzi o to, aby przycisk, który generuje okienko tylko do odczytu, dzięki czemu można go użyć ponownie, gdy okno podręczne załaduje całą jego zawartość. Wydarzenie nie wydaje się jednak w ogóle strzelać. I nawet zmienił je na poniższych i nie ma nic:

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

jest coś bardzo złego z moim składni albo ja czegoś brakuje zupełnie innego? Używam również JQuery, jeśli są jakieś odpowiednie klejnoty, które pomogą w tej sytuacji. Próbowałem następujących wyników z podobnymi wynikami, ale nie jestem pewien, czy mam prawidłowe połączenie:

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

Każda pomoc jest bardzo doceniana.

Odpowiedz

1

Nie będzie działać we wszystkich przeglądarkach. Sugeruję umieszczenie obsługi onload w dokumencie załadowanym do nowego okna i mieć to wołać do oryginalnej strony:

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

I rzeczywiście udało się uzyskać to działa w przeglądarkach mam do wsparcia z następujących :

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

Dzięki za odpowiedź chociaż Tim.

+0

Naprawdę? Sugeruję, żebyś to dokładnie przetestował. Dzięki użyciu 'new', które natychmiast wywoła' unlockObj (id) '(nie czekając na pierwsze załadowanie nowego okna) i przypisuje obiekt, a nie funkcję do' explorerWindow.onload', co spowoduje nic (przynajmniej nic użytecznego). Ta linia będzie praktycznie równoważna z wywołaniem 'unlockObj (id);'. –