Avatar billede groovespeak Nybegynder
09. juli 2000 - 21:42 Der er 1 kommentar og
1 løsning

Genskabe rammer

Kan man med javascript genskabe et rammesæt uden om en side, hvis brugeren kalder sidens URL direkte og ikke rammesættets?

Jeg forestiller mig følgende:

Rammesættet, index.htm, findes på www.domænenavn.dk og ser sådan ud:

<frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
<frame name="toppen" src="banner.htm">
<frame name="bunden" src="side1.htm">
</frameset>

Hvis brugeren nu indtaster www.domænenavn.dk/side1.htm, skal rammesættet genskabes, så siden banner.htm (target="toppen") vises øverst og siden side1.htm (target="bunden") indlæses i bundrammen.
Avatar billede c9steen Nybegynder
09. juli 2000 - 22:29 #1
Ja! se http://www.eksperten.dk/spm.asp?id=19977

eller brug følgende, som du selv retter til:



Du skal i din index fil (dit rammesæt) indsætte en parameter, som du checker på, om den
er indlæst korrekt. M.a.o. du laver en parameter, som du føler på, for at finde ud af, om
dit rammesæt er indlæst.

Samtidig skal du bygge dit framesæt op, så du kan lave en direkte tilskrivning i en aktuel
ramme, hvor du indsætter den fil du ønsker, med et udefra kommende kald.

Dit rammesæt kan se således ud (frameset.htm) - skriv selv den resterende del:
<header>, <html>...:

<SCRIPT LANGUAGE="JavaScript">
rammeOk=1;
gotoURL = document.location.href;
marker = gotoURL.indexOf("#")
if (marker>0) {
gotoURL = gotoURL.substring(marker+1, gotoURL.length);
  }
else {
gotoURL = 'startfil.htm';
}
document.write('<FRAMESET FRAMEBORDER="0" FRAMESPACING="0" BORDER="0" COLS="120,*" ROWS="100%">');
document.write('<FRAME SRC="menu.htm" NAME="menu" SCROLLING="auto">');
document.write('<FRAME SRC="'+gotoURL+'" NAME="indhold" SCROLLING="auto">');
document.write('</FRAMESET>');

</SCRIPT>

I hver enkelt af dine "underfiler" indsætter du et script, der føler på, om siden er indlæst i
rammesættet. Hvis ikke, skal brugeren stilles om til rammesættet og den aktuelle side
indlæses i indholdsrammen.

<SCRIPT LANGUAGE="JavaScript">
rammeOk=0;
rammeOk=top.rammeOk;
if (rammeOk!=1){
  top.location.href = "frameset.htm#subside.htm";
  }
</SCRIPT>
Avatar billede groovespeak Nybegynder
10. juli 2000 - 00:09 #2
Jamen, det fungerer jo storartet og lige efter hensigten :-) Tak.
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