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>