Avatar billede dal Nybegynder
30. maj 2004 - 22:53 Der er 18 kommentarer og
1 løsning

Hvordan får man konsekvent flere sider indlæst i frameset

Jeg har et site med frameset. Jeg har indhold i et frame i midten, og til venstre og til højre for
midten har jeg to frame som fungerer som menuer i forhold til midten.
På den måde er der altid 3 sider som fungerer sammmen.

Men når man bruger "tilbageknappen" i Explorer får jeg nogen gange problemer med indeholdet i de to menu'fremene i forhold til indholdet i midten.
Så var det jeg tænkte at der må være et script som gør at man altid har det korekte indhold i de to menu'frame.

Måske kan man sætte "onload" i "body" i hovedframet, og på den måde måske "hægte" siderne sammen. Er det muligt at løse problemet på den måde eller er der måske noget helt andet som er bedre ?
Selv ku jeg tænke mig at være fri for at bruge frame, men det er udelukket, desværre :(
Avatar billede roenving Novice
30. maj 2004 - 23:01 #1
Jeg tror du har ret i, at den eneste måde at være sikker, er at lave noget synkroniserings-noget på de forskellige frames ...
Avatar billede helle_fred Nybegynder
01. juni 2004 - 11:25 #2
Når du har et framesæt med tre rammer vil tilbageknappens funktion afhænge af, hvilken af de tre rammer brugeren har været klikket i sidst - det er denne frame, der skiftes.

Derfor kan du ikke løse problemet ved blot at lægge nogle onLoad-sætninger ind, der skifter menue-rammernes indhold, så de passer til indholdrammen.

Hvis det er sådan at alle indholdrammer har specifikke menu-rammer, kan du lægge onLoad-scripts ind i samtlige ramme-filer - menuer som indholdssider. Scripts, der altid sørger for at hente det rigtige indhold ind til de andre rammer. Men i så fald er det altså helt oplagt at droppe rammesættet og i stedet bygge siderne op af tabeller - som du selv nævner.

Dine onLoad-hændelser skal have formen:

<body onLoad="parent.ramme1.location.href='x.htm'; parent.ramme3.location.href='y.htm'">

for en indholdside, der måske hedder ramme2 mens menusiderne hedder ramme1 og ramme3. En venstremenuside skal så i stedet læse indhold til ramme2 og ramme3 etc.
Avatar billede helle_fred Nybegynder
01. juni 2004 - 11:43 #3
- med ved nærmere eftertanke er det ikke nogen god ide jeg fik der - rammerne vil jo komme til at kalde hinanden i en uendelighed...
Avatar billede roenving Novice
01. juni 2004 - 23:01 #4
Et synkroniserings-noget på onload i frames skal selvfølgelig checke, at der er brug for at udskifte ...

Men der er stadig et problem i at load-tiden kan komme grus i maskineriet, så Helles skrækscenarie kan opstå !-)
Avatar billede dal Nybegynder
02. juni 2004 - 14:27 #5
roenving > har du et bud, - eller hvor tror du jeg kan finde en evt. løsning
Avatar billede roenving Novice
02. juni 2004 - 14:43 #6
<script type="text/javascript">
if(parent.menuframe.location.href.indexOf("menu1")<0)parent.menuframe.location.href.="menu1.html"
//if(parent.contentframe.location.href.indexOf("content1")<0)parent.contentframe.location.href.="content1.html"
if(parent.sidebarframe.location.href.indexOf("sidebar1")<0)parent.sidebarframe.location.href.="sidebar1.html"
</script>

Eksemplet er her det, som ligger i content1, du bruger præcis det samme script i de sammenhørende frames, men udkommenterer den linje, som vedrører framen selv !-)

Udkommenteringen er ikke strengt nødvendig ...
Avatar billede dal Nybegynder
02. juni 2004 - 17:54 #7
Skulle måske ha sagt at jeg har 6 hovedsider i main (i midten), hvor der er knyttet forskellige menuframe til højre og til venstre (så der er faktisk 6 par menu'framer).
Dertil har jeg nogen hovedsider i main, hvor der ikke skal knyttes (tvinges) nogen menu'frames til.
Er det til at forstår eller skal jeg uddybe :)
Avatar billede roenving Novice
02. juni 2004 - 17:56 #8
Ovenstående laver du i 6 forskellige udgaver, hvor du lægger dem på hver sit sæt af sider !-)
Avatar billede dal Nybegynder
05. juni 2004 - 02:41 #9
først tak roenving
Men jeg har desværre endnu ikke fået det til at fungere, men håber stadig.
Jeg  har forsøgt flere muligheder. Gider du lige kommentere de navne du bruger, så jeg er helt sikker på hvad jeg skal lave om.
Jeg har gættet på at jeg ikke skal lave om på: ("menu1") ("content1") ("sidebar1")

Men ellers tilpasse alt andet til mine navne (framenavne og filnavne).
Er det rigtig forstået.

Og plaseringen, skal scriptet placeres i body eller head, på forhånd tak

Det ville være superskønt at få det til at fungere :)
Avatar billede roenving Novice
05. juni 2004 - 14:24 #10
Hvis du tager en tilfældig linje fra scriptet, er det, som står i indexOf-argumentet, en del af det, som findes i filnavnet, så det er måske lettere at se, hvis hele filnavnet er med:

if(parent.sidebarframe.location.href.indexOf("sidebar1.html")<0)parent.sidebarframe.location.href.="sidebar1.html"
Avatar billede roenving Novice
05. juni 2004 - 15:01 #11
Hov, der er kommet et galt punktum med ,-|

if(parent.sidebarframe.location.href.indexOf("sidebar1.html")<0)parent.sidebarframe.location.href="sidebar1.html"

-- og sidebarframe er navnet på framen !-)
Avatar billede dal Nybegynder
05. juni 2004 - 18:05 #12
roenving > takker
Skal scriptet plaseres i head eller body
Avatar billede dal Nybegynder
05. juni 2004 - 18:14 #13
Kan ikke få det at fungere, har forsøgt med:

if(parent.venstreframe.location.href.indexOf("venstre.htm")<0)parent.venstreframe.location.href="venstre.htm"
if(parent.hojreframe.location.href.indexOf("hojre.htm")<0)parent.hojreframe.location.href="hojre.htm"
if(parent.indhold.location.href.indexOf("indhold.htm")<0)parent.indhold.location.href="indhold.htm"

Jeg har måske misforstået :(
Avatar billede roenving Novice
05. juni 2004 - 19:00 #14
I hvilken fil er det lagt ?-)
Avatar billede dal Nybegynder
05. juni 2004 - 19:35 #15
I hvilken fil er det lagt > ja der ligger måske fejlen

Java scriptet skal måske være forskellige, jeg har lagt samme kode i alle filerne:
venstre.htm
hojre.htm
indhold.htm

Gider du gi et eksempel på hvordan de skal være forskellige :)
Avatar billede roenving Novice
05. juni 2004 - 20:23 #16
I venstre.html skal du udkommentere linjen med venstre.html osv.

-- og jeg ville placere det først i head-sektionen ...
Avatar billede dal Nybegynder
05. juni 2004 - 22:03 #17
roenving > takker meget, utolig fin løsning
Men hvordan kan jeg gi dig poeng, du må gi et svar :)
Avatar billede roenving Novice
05. juni 2004 - 22:24 #18
Velbekomme '-)
Avatar billede roenving Novice
05. juni 2004 - 22:48 #19
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester