![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 20.12.2003 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
jak nadać zdarzenie onload dla otwieranego okna z poziomu dokumentu otwierającego?
[xml:1:cda700e341] <script type="text/javascript"> var win = window.open('dokument.html'); win.window.onload = funkcja; </script> [/xml:1:cda700e341] Powyższe nie działa PS: zaznaczam, że zależy mi na wykonaniu tego z poziomu dokumentu tworzącego okno a nie z poziomu okna. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Aaaaa, i tu jest pies pogrzebany!
Uhm, nie skojarzyłem różnicy między załadować i otworzyć :oops: . Dobra, w takim razie podejście już chyba w sumie czwarte. Tym razem trochę bardziej skomplikowane. 1) Zmieniasz definicję funkcja(): Kod <script type="text/javascript">
function funkcja(wnd) { //zrób cokolwiek, ale zamiast this.cośtam używaj wnd.cośtam } </script> Czyli funkcja() ma działać nie na "swoim" oknie, ale na podanym. 2) Wstawiasz do dokument.html: Kod <script type="text/javascript">
function foo() { window.bar(window); } </script> 3) Zmieniasz <body> w dokument.html na <body onload="foo()"> 4) Zmieniasz swój javascript na: Kod <script type="text/javascript">
var win = window.open('dokument.html'); win.bar = funkcja; </script> Czyli funkcja zostaje w głównym dokumencie, a nowy dokument dostaje jedynie referencję do funkcji, którą sam sobie musi uruchomić. A funkcja musi wiedzieć na którym oknie operuje. Teraz to już powinno działać bo nawet sprawdziłem (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 14:34 |