Avatar billede nca Juniormester
11. marts 2003 - 19:31 Der er 2 kommentarer og
2 løsninger

Tilbageknappen og frames

Jeg har en framside, der er opbygget af 3 frames:
left, top og main
Når jeg klikker på et link i framen left, indsættes en ny side i framen main. Denne side udskifter vha. OnLoad indholdet i frame left og frame top.
Alt OK, men hvis man klikker på browserens tilbageknap (og det er kun den, det drejer sig om), skal man "selvfølgelig" klikke 3 gange, før man er tilbage til udgangspunktet.
Jeg har kikket lidt på location.replace, men har ikke set lyset :-)
Hvad skal jeg gøre, så et klik på tilbageknappen fører mig tilbage til min startside?
NB.
Jeg kan komme tilbage via et link, som linker til min start-frameside (framepage1.htm). På den måde bliver indholdet i alle 3 frames "nulstillet"
Jeg er stødt på irriterende sider, som hele tiden sætter sig selv i toppen af history-listen. Måske kunne en sådan teknik også bruges.
Avatar billede mortrr Praktikant
11. marts 2003 - 22:22 #1
Replace burde kunne hjælpe dig hvis du er konsekvent.

Hvis du ved onload på sider i main bruger
parent.menu.location.replace("menuxxx.htm");
parent.top.location.replace("topxxx.htm");
vil et klik på tilbage bringe dig tilbage til den forrige side vist i main, som jo så også vil bruge replace på de to andre frames.
Klik på links i menu op top må kun røre indholdet af main, da du ellers får et ekstra trin i "history".
Det er altid op til main at opdatere de andre frames.
Avatar billede nca Juniormester
12. marts 2003 - 16:35 #2
Min kode ser således ud:
---------------------------------

<script language="JavaScript">

function overskrift(Tekst)  {
parent.top2.document.open();
parent.top2.document.write("<html>");
parent.top2.document.write("<head>");
parent.top2.document.write("<LINK REL=stylesheet HREF='../../text_o.css' TYPE='text/css' media='screen'>");
parent.top2.document.write("<title>Automatisk generet overskrift</title>");
parent.top2.document.write("<body topmargin='10'>");
parent.top2.document.write("<p>");
parent.top2.document.write(Tekst);
parent.top2.document.write("</p>");
parent.top2.document.write("</body> </HTML>");
parent.top2.document.close();
}
</script>



<script language="JavaScript">

function skiftside()  {
{
    site1 = "a_1_m.htm";
}
overskrift("Adenosin")
parent.menu.location.href=site1;

}

</script>



<BODY onload=skiftside() leftMargin=0 topMargin=10>
------------------------------
Der er 2 problemer i det:
1. Jeg har udskiftet "parent.menu.location.href" i Sideskift() med parent.menu.location.replace. Siden bliver bare ikke vist.

2. Hvordan får jeg skrevet overskriften vha. replace?
Avatar billede nca Juniormester
12. marts 2003 - 19:29 #3
Undskyld, jeg har selv fundet bøffen i skiftside-funktionen, men jeg har stadig problemet med overskriften.
Avatar billede nca Juniormester
12. marts 2003 - 20:14 #4
Jeg har løst problemet.
For de, der skulle sidde med samme problem, er løsningen, at den første linje Function overskrift udskiftes med:
parent.top2.document.open("text/html", "replace");
Den anden fejl var, at linjen "parent.menu.location.href=site1;" skulle ændres til parent.menu.location.replace(site1);
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