Toon posts:

[js] onload aan frame probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
In IE5 lijkt het heel moeilijk om een onload event aan een window te hangen.
Ik moet nl als een bepaald frame helemaal geladen is de inhoud van dat frame gebruiken voor een ander frame.
Het werkt wel in IE6 en Moz, door gewoon in het hoofddocument frame onload= te zetten. Dit werkt alleen niet in IE5.
Ik zou dmv een script dit kunnen doen: top.frames[1].onload=functie;
Dit werkt niet in IE5.
top.frames[1].document.body.onload werkt maar 1 keer. Dat kan ik me wel voorstellen, want als in die window iets nieuws wordt geladen, dan is de body verdwenen en ook die event listener.

Ik begin dus te denken dat er geen enkele manier is om in IE5 een onload event aan een frame te hangen.
Weet iemand nog een oplossing?

Schematische tekening:

------------------------------------------------------|
frame1 link met target=frame2 |
------------------------------------------------------|
|
frame2 onload=functie (werkt niet in IE5) |
|
|
------------------------------------------------------|

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

krijg je nog foutmeldingen ofzo, bij IE5? Kan natuurlijk zijn dat je iets aan probeert te passen wat nog niet geladen

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Nee, ik krijg geen foutmeldingen. Ik heb diverse testjes gedaan en het lijkt er gewoon op dat ik in IE5 geen onload kan hangen aan frames.

Verwijderd

misschien door de functie helemaal onderin de source van frame2 zetten? bijv.

</body>

<script src="JavaScript">
blabla
</script>

</html>

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Dat heeft geen enkel voordeel boven het gebruik van body onload="...", en zoals je kunt lezen, heeft TS daar niets aan.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • André
  • Registratie: Maart 2002
  • Nu online

André

Analytics dude

Moet je een bufferframe maken waarin je om de 50 msec checkt of de url/inhoud van dat andere frame al veranderd is.

Verwijderd

drm schreef op 06 January 2003 @ 16:02:
Dat heeft geen enkel voordeel boven het gebruik van body onload="...", en zoals je kunt lezen, heeft TS daar niets aan.
:?

misschien helpt dit?
http://developer.irt.org/script/288.htm

Verwijderd

Topicstarter
Ik kan de tweede frameset niet aanpassen, anders had ik daar wel een body onload= ingezet. Dat zou dan inderdaad werken, maar helaas...

http://developer.irt.org/script/288.htm is inderdaad precies het probleem waar ik mee zit. Alleen onload in een frameset wordt in ie5 maar een keer uitgevoerd. Als ik in het eerste frame daarna nog op link klik, die een andere pagina op frame 2 opent, dan werkt onload op de frameset niet meer.'

Ik denk inderdaad dat ik gedwongen ben om een herhaalde settimeout of setinterval functie uit te voeren als er op een link wordt geklikt die het tweede frame opent. Deze moet dan checken of de body van frame 2 dan toegankelijk is. Dit maakt het helaas wel ingewikkelder, want de links op frame1 worden ook via javascript gegenereerd. Het was gewoon makkelijker geweest als het toch op een of andere manier mogelijk was om toch een onload listener op frame 2 te kunnen zetten.

Ik wou al bijna vragen wat TS was, maar ik weet het al: Topic Starter! :)

edit: valt bij nader inzien eigenlijk wel mee een setTimeout functie erbij voegen.

[ Voor 5% gewijzigd door Verwijderd op 06-01-2003 19:11 ]

Pagina: 1