01. oktober 2003 - 21:41Der er
9 kommentarer og 1 løsning
javaScript på tværs af FRAMES
Hejsa, Jeg har nedenstående kode, som består af nogle frames, bl.a. en menu-frame og en indholds-frame. Nede i "indhold"-framen vil jeg gerne kunne kalde en overordnet javaScript function, som skal kunne ses & kaldes af alle programmer der måtte vises i indholdsframen. MEN mit problem består i at jeg ikke engang kan se navnene på nogle af de objekter jeg har i det her program. Jeg har prøvet i mit program "indhold.asp" nogle alert-bokse på onLoad() funktionen. F.eks.: alert(parent.name), alert(document.name) samt en alert(top.name). Enten så viser disse INGEN alertboks, eller også skriver de "undefined". Sååå.. et eller andet må jeg have gjort galt i det her hovedprogram "index.asp":
Er der nogle der har nogle ideer til hvordan jeg i første omgang blot kan få fat i en af de overordnede objekter i index.asp programmet og derpå hvordan jeg fra mit underprogram indhold.asp kan kalde en function som jeg vil lægge på et overordnet niveau?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
det hedder jo parent.indhold.document.navn altså først skriver du parent.framenavnet.document og derefter har du adgang til alt hvad der ligger i den frame.
Hvis det er et objekt du har kaldt for name så må du omdøbe det, da name bruges af javascript, hvilket kunne forklare din fejl. Følgende script ser mere ud til at hente navnet på document.
Jeg tror du har fat i en af de typiske fejl når man bruger frames og javascript. Problemmet, tror jeg, er at du kalder funktionen før den anden frame er læst ind.
skovenborg: Nej, nej.. jeg har selvfølgelig ikke kaldt noget for "name". Jeg bruger name for blot at teste om jeg overhovedet har fat i noget eksisterende objekt og for at se hvad det er for et. Men lige meget hjælper det! Og alle framesne ER læst ind!
Altså, hvis jeg f.eks. skriver alert(self.name) nede i min indholdsframe, så siger den jo "indhold" som svar, men hvis jeg skriver alert(parent.name) så siger den ikke noget. Og når jeg prøver: alert(parent.top1.document.name) så siger den "undefined" hvilket jo må betyde at den IKKE kan se "top1" via den metode du gav mig.. Den burde jo havde svaret "top1", hvis den virkelig havde fat i "top1"-objektet, så vidt min lille javaScript-viden.. ;o)
Er jeg gal på den, eller..?
Du kan måske vise mig et lille kodeeksempel som kan kalde en lille javaScript-function i et overliggende vindue til en frame?
Under alle omstændigheder kigger jeg lige på dit link ;o)
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.