02. oktober 2002 - 10:38Der er
8 kommentarer og 1 løsning
Frameset laver bøvl
Jeg har et javascript som sørge for at jeg kan åbne en side via en selectmenu i en Iframe ! Derudover har jeg et javascript som scroller indholdet i min iframe enten op eller ned alt efter hvilken man trykker på !
Dette virkede også fint indtil jeg ville sætte min side op i et chromless window...
Dette chrommless window indeholder et Frameset og det er det som giver mig mit problem som jeg vil forklare her:
Hvis jeg sætter min side i et frameset (som chromless også består af) for jeg fejlen når jeg prøver at skifte side :
error : parent.frames[...] er ikke er objekt
samme fejl for jeg når jeg prøver at scrolle.
Det virker helt fint hvis jeg bare har min side normalt, altså uden chromless window.
Jeg har dog fundet ud af at hvis jeg laver et normalt frameset og sætter siden ind i den og giver framen navnet som siden fra select menuen skulle åbne i åbner den i hele den frame !
Altså må jeg kunne sige at den ikke finder iframens navn, men kun det framenanvn den opholder sig i og der opstår fejlen !
Dette var nok en lang indviklet smørge, så i er velkommen til at skrive hvis der er noget i ikke forstår !
brug istedet: parent.document.frames[...] og ja det er noget fis med iframes at de ikke kan adresseres helt som alm frames. en ganske god (og nem) løsning er helt at ignorerer rammestrukturen og sige: window.open( "nyside.html", "rammeNavn" ); så finder javascript selv en ramme (eller iframe, eller vindue) med det navn og smider siden ind i det. Sørg blot for at der ikke findes andre rammer med det navn.
I den rettede linie har jeg fjernet 'parent.' mere behøves der ikke. Det burde egentlig også fjernes på din oprindelige side, men der går det godt fordi parent ikke har nogen frameset fil at pege op på, og istedet peger på vinduet selv.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.