Olaf N.: Wie schreibe ich einen eventhandler in ein anderes window

Beitrag lesen

Tip(p): Objektorientiert denken, denn dafür ist das da. onload ist eine Eigenschaft (u.a.) von window-Objekten und der Rückgabeparameter von window.open() (in deinem Fall also docWindow) ist ein (tada!) window-Objekt. Das hast du ja implizit schon durch docWindow.frames... ausgenutzt, denn auch frames ist eine Eigenschaft von window-Objekten.

Achtung: Auch an dieser Stelle greifen die üblichen Cross-Domain-Sicherheitsbeschränkungen. Das heisst dass dein Skript was docWindow.onload setzen will und die Ressource die dort hingeladen wird (also der Inhalt von framesetUrl) unterhalb der gleichen Domain liegen müssen.

Moin Henryk,

da bin ich aber froh, hier doch noch jemanden mit fachlichem Interesse anzutreffen.

Jepp. Sicherheitsbeschränkung. Da liegt der Hase im Pfeffer. try-catch brachte es an's Tageslicht: "Kein Zugriff" auf onload.

Nun lasse ich eine Schleife laufen, bis mir frames.length die Info liefert, dass mein Frame existiert. Dann kann ich den Frameinhalt mit .location.href neu setzen. Diese Eigenschaft ist nicht geschützt!

Viele Grüße von der Ostseeküste in die Hauptstadt

Olaf

PS
--
Noch ein bisschen Erbsenzählerei, ich hoffe, unsere Freunde lesen noch mit. Aber immer schön locker bleiben.
LOAD   = Event
ONLOAD = Eventhandler, kann grundsätzlich >überschrieben< werden. Sicherheitsbeschränkungen können dies jedoch wieder verhindern, wie oben.