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%)
-----


Podejście pierwsze:
Cytat
Wydaje mi sie ze window.open zwraca instancje do obiektu nowego okna, a więc w zmiennej var jest obiekt typu window, w związku z tym powinieneś jego własciwość zmieniać w ten sposób:
...

Nie.
Atrybut window klasy Window wskazuje na siebie. A zatem
Kod
win.onload == win.window.onload == win.window.window.onload

Podejście drugie:
Cytat
Najlatwiej bedzie zrobic tak, ze zrobisz to bez pliku dokument.html - tzn.
...

Nie.
Po pierwsze, onload jest funkcją, a nie stringiem. Po drugie, nie wystarczy przypisać funkcję do body.onload, trzeba jeszcze dostarczyć definicję funkcji. A tej nowe okno nie ma, bo funkcja jest zdefiniowana w oknie głównym.

Teraz, wracając do tematu...
Cytat
jak nadać zdarzenie onload dla otwieranego okna z poziomu dokumentu otwierającego?

To co podałeś nie działa nie dlatego, że kod jest niepoprawny, tylko dlatego, że najpierw tworzysz okno, a potem przypisujesz funkcję do onload. Funkcja się nie uruchomi, bo okno już jest utworzone i załadowane, zdarzenie load wykonało się linijkę wcześniej. I tego nie przeskoczysz.
Proponuję
Kod
<script type="text/javascript">

    var win = window.open('dokument.html');

    win.onload = funkcja;

    win.onload();

</script>
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 - 12:04