Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] onload dla okna otwieranego
yoyo
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hawk
post
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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 14:34