Ik heb een frameset, waarin ik dynamisch functies aan koppel doormiddel van een handig event handler script. De reden waarom ze er dynamisch worden aan gekoppeld is eigenlijk heel simpel: anders moet ik 1000+ pagina's door om de javascriptcode er in te plakken. Nu staat het in de index, en is het makkelijk om te beheren.
Het is de bedoeling dat wanneer ik de h-knop indruk, en op een frame klik, de href van dat frame wordt alert. In firefox werkt dit goed, maar ik krijg het niet werkend in IE.
in onderstaande code gaat er iets anders in Firefox dan in IE, want volgens mij gaat het hier verkeerd.
De init wordt uitgevoerd zodra de pagina is geladen. In init worden de overige functies aan de frames gekoppeld.
Mijn javascript-kennis brengt me niet verder dan hier. Ik heb al verschillende dingen geprobeerd, zoals frameElement achter de targetFrame in de frame_onLoad functie, maar dit werkt niet.
een (in firefox) werkend voorbeeld is te zien op http://www.cmd.tech.nhl.nl/users/visse102/javascript/
Iemand enig idee? of een andere manier om de huidig geladen href uit een frame te lezen?
een kleine edit omdat mn probleem misschien iets te vaag is omschreven..
Ik heb 3 frames, waarvan ik de huidige url wil uitlezen. Nu kan dit door in elke pagina die wordt geladen een stukje javascript te zetten, maar dit wil ik dynamisch doen, zodat ik niet elke pagina die in de frameset wordt geladen hoef te editten. De javascript die ik in elke pagina wil "includen" wordt dynamisch doormiddel van een eventhandler aan de pagina gekoppeld. Nu gaat dit wel goed in FF, maar niet in IE
Het is de bedoeling dat wanneer ik de h-knop indruk, en op een frame klik, de href van dat frame wordt alert. In firefox werkt dit goed, maar ik krijg het niet werkend in IE.
in onderstaande code gaat er iets anders in Firefox dan in IE, want volgens mij gaat het hier verkeerd.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| function init(e) { alert ('init wordt uitgevoerd'); addEvent(toppie.frameElement, 'load', function(e){frame_onLoad(toppie)}); frame_onLoad(toppie); addEvent(main.frameElement, 'load', function(e){frame_onLoad(main)}); frame_onLoad(main); addEvent(test.frameElement, 'load', function(e){frame_onLoad(test)}); frame_onLoad(test); } function frame_onLoad(targetFrame) { alert ('onload wordt uitgevoerd'+targetFrame); addEvent(targetFrame, 'keydown', function(e){frame_onKeyDown(e.keyCode);}); addEvent(targetFrame, 'keyup', function(e){frame_onKeyUp(e.keyCode);}); addEvent(targetFrame, 'click', function(e){frame_onClick(targetFrame);}); } |
De init wordt uitgevoerd zodra de pagina is geladen. In init worden de overige functies aan de frames gekoppeld.
Mijn javascript-kennis brengt me niet verder dan hier. Ik heb al verschillende dingen geprobeerd, zoals frameElement achter de targetFrame in de frame_onLoad functie, maar dit werkt niet.
een (in firefox) werkend voorbeeld is te zien op http://www.cmd.tech.nhl.nl/users/visse102/javascript/
Iemand enig idee? of een andere manier om de huidig geladen href uit een frame te lezen?
een kleine edit omdat mn probleem misschien iets te vaag is omschreven..
Ik heb 3 frames, waarvan ik de huidige url wil uitlezen. Nu kan dit door in elke pagina die wordt geladen een stukje javascript te zetten, maar dit wil ik dynamisch doen, zodat ik niet elke pagina die in de frameset wordt geladen hoef te editten. De javascript die ik in elke pagina wil "includen" wordt dynamisch doormiddel van een eventhandler aan de pagina gekoppeld. Nu gaat dit wel goed in FF, maar niet in IE
[ Voor 13% gewijzigd door derdappie op 12-02-2007 15:15 . Reden: iets duidelijker probleem omschreven ]