Menu
• Indhold

Rammer

Resumé

Af Lars Blomgren Andersen og Jan Toksvig, UNI-C
20/10 1998

Blandt alle de muligheder HTML tilbyder hjemmesidedesigneren errammer en af de mest udskældte - og ikke helt uden grund. Men brugt med omtanke er rammer en genvej til at opnå en bedre funktionalitet.

 

Arkiv med artikler fra Designværkstedet

Grundlæggende er rammer eller "frames" på engelsk enmåde at opdele sit browservindue på. Således at man i det samme vindue kan have flere af hinanden uafhængige HTML-dokumenter. En framefil fungerer ikke som et egentligt dokument, men indeholder kun oplysninger om rammens egenskaber, titel og adressen på indholdet af de enkelte rammer.

 

Fordele ved at benytte rammer

Teknikken består som nævnt i at opdele browservinduet irammer. Funktionsmæssigt betyder denne opdeling fx følgende:

  • Man kan have en fast menubar, som ikke scroller med de øvrige vinduer [1].
  • Et nyt dokument kan tilføjes hjemmesiderne ved blot at tilføje en henvisning til dokumentet i hjemmesidens indholdsdokument. Hvis man ikke bruger rammer men i stedet har indholdsfortegnelsen i alle dokumenter, skal henvisningen til det nye dokument tilføjes i alle dokumenter.
  • Brugeren kan selv bestemme, hvilke informationer, der skal vises på skærmen samtidigt.
  • Skjulte rammer kan benyttes til at reducere den tid det tager at hente de efterfølgende dokumenter.

Om Fordele ved at benytte rammer

Nyhedsbrev

Tilmeld dig til IT-temaets nyhedsbrev



 

Ulemper ved at benytte rammer

Ulemperne ved at benytte rammer er primært af funktionsmæssigkarakter. Da browservinduet bliver opdelt i et antal uafhængige rammer, kan det give følgende problemer:

  • Ikke alle browser-versioner understøtter rammer, og de forskellige browsere har forskellige måder at håndtere rammer på.
  • Den normale navigation, som fx browserens "tilbage"-knap, fungerer ikke som forventet. Normalt kommer man tilbage til den side, man lige har været på. Med rammer i dokumentet sker der måske det, at et af dokumenterne i en af rammerne skifter tilbage til et foregående dokument, men rammen bliver. Dette kan give problemer, bl.a. hvis der benyttes usynlige rammer.
  • Med rammer på skærmen kan det godt være svært at få bogmærket netop de dokumenter, man på et givet tidspunkt ser på skærmen. Hvis man benytter browserens "Gem som bogmærke" funktion i menubaren, får man ofte bogmærket framefilen, dvs. det dokument, der indeholder specifikationerne på sideopbygningen. Nyere browsere giver mulighed for at bogmærke de enkelte dokumenter (via menuen på højre musetast), men dokumentet vil så typisk vises uden de omkringliggende rammer, når bogmærket aktiveres.
  • Nogle browsere, fx Netscape, kan kun udskrive indholdet af den aktive ramme, nemlig den der sidst er blevet klikket i. Med Internet Explorer kan man vælge mellem at udskrive enten indholdet af browservinduet, hele indholdet af den aktive ramme eller hele indholdet af alle rammer i browservinduet.
  • Når man benytte rammer, kan man tilsigtet eller utilsigtet komme til at vise andres hjemmesider i en af sine egne rammer. "Framing", som begrebet kaldes med et engelsk udtryk, rejser nogle ophavsretsmæssige spørgsmål, som vi kort har beskæftiget os med i en tidligere artikel [2].
  • Forkert brug af teknikken kan medføre, at browservinduet viser rammer inden i rammer.

 

Artikler af

Jan Toksvig
 (11/07 2007)

 

Tags ´n tricks

En af fordelene ved rammer er muligheden for at arbejde med skjulterammer. Teknikken går ud på at man, medens brugeren fx er optaget af at læse forsiden, henter en lyd, en video eller lignende ind i den skjulte ramme, så den er klar til at blive afspillet, når brugeren går videre.

<HTML>
<TITLE>Designværkstedet - Demo af rammer</TITLE>
<FRAMESET ROWS="100%,*">
<FRAME SRC="tekstramme.htm" MARGINWIDTH="2" NAME="txtfld">
<FRAME SRC="dummy.htm" NAME="video">
</FRAMESET>

<NOFRAMES>
Denne side bruger Frames (rammer), som din browser ikke kan vise.<P>
<UL>
<LI> <A href="/billeder/artik/98/tekstramme.htm">Teksten</A>
</UL>
<P>
</NOFRAMES>
</HTML>

Figur 1. Koden for den skjulet ramme i eksemplet [3].

Tag'et <frameset ROWS="100%,*"> sætter størrelsen på den øverste ramme indeholdende dokumentet "tekstramme.htm" til at fylde 100% af browservinduet. Rammen indeholdende dokumentet "dummy.htm" får så lov til at fylde resten af højden (angivet ved "*"), der i dette tilfælde er intet.
Selv om dokumentet i nederste ramme ikke kan ses, hentes det alligevel af browseren.

Dokumentet "dummy.htm" er tomt. Det skal fungere som pladsholder et kort øjeblik, mens dokumentet "tekstramme.htm" indlæses. Først når dette dokument er læst helt ind, sætter vi browseren til at hente et dokument med et videoklip, som vi skal bruge senere.

Den JavaScript-kode, der henter dokumentet med videoklippet, når "tekstramme.htm" er hentet, er placeret i BODY tag'et i dokumentet "tekstramme.htm". BODY tag'et med koden ser ud som følger:

< BODY BGCOLOR=white onLoad='top.video.location="videoeks.htm"'>

Der står, at når dokumentet er hentet helt ned, skal browseren udføre JavaScript-koden top.video.location="videoeks.htm", som erstatter dokumentet i rammen med navnet "video" (NAME="video", se figur 1) med dokumentet "videoeks.htm".

Prøv eksemplet og se selv, hvordan det virker [3].

Fra det synlige dokument "tekstramme.htm" er der en henvisning til dokumentet "tekstvideo.htm", der indeholder dels noget tekst og dels videoen, der blev hentet ind i den skjulte ramme.

 

Og hvad så?

Det er blevet sagt, at rammer er et eksempel på en mulighed, somman ikke skal benytte, bare fordi man kan. Det er der da også en hel del sider på nettet, der vidner om.

Ulemperne ved teknikken gør, at man, før man begynder at arbejde med rammer, bør spørge sig selv, om brugen er nødvendig for hjemmesiden og hvis ikke så lade være.

 

Baggrundsartikler

  1. Designværkstedet er et eksempel på et websted, der benytter en fast menubjælke i en ramme.
  2. Artiklen om ophavsret behandlede bl.a. problemerne omkring framing.
  3. Eksempel på brug af en skjult ramme.
  4. Se HTML Support History om FRAMESET, FRAME og om TARGET.