Oprettet lør. d. 18. november 2000 kl. 14:40:26

picard
picard (21.706 point. Point ude: 60)

Frames vs. Tables

Hejsa.
Jeg er ved at lave en hjemmeside for et lille firma.

Jeg vil gerne have en navigationsbar/liste ude i venstre side af skærmen, der skal være til stede hele tiden uanset, hvilket link på siden der trykkes på.
Hvis jeg ikke vil bruge frames betyder det jo at være eneste side på hjemmesiden skal indeholde navigationsbaren. Bruger jeg frames udelukker jeg en masse mennekser for at bruge siden fornuftigt.

Tables giver redundans, men er det bedre end at bruge frames ?

Er der andre metoder der er mere fornuftige ?
Giver dette overhovedet mening for jer HTML - eksperter ?

Christian

Skrevet lør. d. 18. november 2000 kl. 14:50:23| #1

hyperactive
hyperactive (18.970 point)
Jeg ville klart bruge frames til dette formål. Langt de fleste anvendte browsere i dag er i stand til at håndtere frames.

Skrevet lør. d. 18. november 2000 kl. 14:50:30| #2

janegil
janegil (20.557 point)
(Ayatollahene i W3C vil nok at du skal bruke DIV i stedet for både tabeller og frames)

Tabeller med redundans er mye enkelre for brukeren å forholde seg til, han kan få styr på bokbmerker og sånt. Men redundansen er vanskelig å administrere for hånd for en webmaster. det krever nok i praksis at du bruker Cold Fusion, ASP e.l.

En fordel med frames, er at du kan ha lenkene synlig hele tiden, selv om brukeren har skrollet seg langt nedover i teksten. Tror du kan oppnå det samme med DIV\'er som har CSS \"position: fixed\", det er bare tvilsomt om det finnes browsere der det virker...

Skrevet lør. d. 18. november 2000 kl. 14:52:20| #3

geeeet
geeeet (33.943 point)
Jeg ville nok vælge tabel-metoden og skrive menu ud dynamisk på siderne, sådan at du kan have hele din menu i en .js-fil og derfor stadig kan nøjes med at skulle rette et sted.

/Geeeet

Skrevet lør. d. 18. november 2000 kl. 14:59:00| #4

michaelmyers
michaelmyers (21.191 point)
Det bedste valg (efter min mening) ville være tables. Du kan løse dit problem på 2 måder: SSI (server side include) eller PHP.

1. SSI
Hvis serveren siden er hostet på understøtter SSI kunne du bruge en simple SSI kommando:

<!-- #INCLUDE TYPE=\"URL\" --!>

TYPE er enten
FILE    giver filnavnet relativt til den aktuelle mappe
VIRTUAL  giver filnavnet relativt til severen

VIRTUAL er nok den bedste at bruge....

URL siger sig selv, nemlig adressen på din navigationsbar.

eks:
<!-- #INCLUDE VIRTUAL=\"navigation.inkl\" --!>

I dette tilfælde indeholder navigation.inkl altså dit navigations panel og i stedet for at skrive det over alt indsætter du bare SSI kommandoen.

eks:
Du har 2 filer, index.html, info.html, i stedet for at skrive navigations kilden i begge filer skriver du den i en fil du kalder f.eks navigation.inkl (filnavnet er faktsik ligemeget) og derefter indsætter du den passende SSI kommando. Så mangler du kun at gøre en ting: nemlig at omdøbe din .html/.htm filer til .shtml for så ved serveren at den er igang med en fil der indeholder SSI kommandoer.


2. PHP
Hvis der er installeret PHP på din server kan du bruge den meget logiske funktion:

<?php
  include(\"URL\");
?>

URL er altså i dette tilfælde også lig med adressen på din navigations fil

eks:

<?php
  include(\"http://dinserver/ (...));
?>

/////////// LOL ////////////

Michael Myers


Skrevet lør. d. 18. november 2000 kl. 15:04:15| #5

stigc
stigc (25.593 point)
Problemer med frames er ikke at nogen browser ikke understøtter disse. Det er overstået, og man må regne med at 99,9 % af ens beøsgende har en browser der kan fortolke frames......

Problemet ligge i søgemaskineren. Især dem der selv finder dig. De kan finde dine underframes, og dermed undgå dit frameset og hermed mister brugeren måske din menu som ligger i en anden frame!


\"Føj til foretrukne\" er også et problem, da man ikke kan bookmarke frames!

Det kan være besværet værd at lave tables, jeg gør det selv!


Hvis du bruger frames, så kan dette sørge for at brugeren ikke kommer ned i en underframe, udenom framsettet:

<script language=javascript>   
if (top.location == self.location)
{
top.location.href = \"ditIndexFil.htm\";
}
</script>

Skrevet lør. d. 18. november 2000 kl. 15:04:18| #6

michaelmyers
michaelmyers (21.191 point)
Ups mangler lige en ekelt detalje:

Du kan også bruge JScript til det:

i din html kilde skiver du

<script language=\"JScript\" src=\"URL\" type=\"MIME-type\"></script>

URL = JScript fil der ender på .js

MIME-type = text/js det betyder at .js filer indeholder almindeligt text og der ikke skal startes noget ekstra program...

eks:

<script language=\"JScript\" src=\"http://dinserver/ (...) type=\"text/js\"></script>

///////////// LOL ///////////

Denne metode kræver dog at du har kendeskab til JScript (JavaScript hos NS)

document.write(text);

//////////// LOL ////////////

Michael Myers

Skrevet lør. d. 18. november 2000 kl. 15:09:05| #7

michaelmyers
michaelmyers (21.191 point)
Nu hvor jeg lige kigger lidt på det jeg har skrevet kan jeg lige komme med et par rettelser:

MIME-type i JScript løsningen behøves nok ikke at være med....

I SSI-modellen er kommando formlen

<!-- et eller andet -->

jeg skrev:

<!-- et eller andet --!>

det sidste udråbs tegn har ikke noget med det at gøre men jeg synes bar at det ligesom danner symetri ;-)

///////////// LOL ////////////

Michael Myers

Skrevet lør. d. 18. november 2000 kl. 15:20:25| #8

michaelmyers
michaelmyers (21.191 point)
Fejl igen.........f**k

Jeg skrev at hvis man ville bruge JScript-modellen kunne man indætte en type=\"MIME-type\"

den MIMI-type sagde jeg skulle være text/js, men egentlig skal den nok være text/javascript

/////////////// LOL //////////////

Michael Myers

Skrevet søn. d. 19. november 2000 kl. 09:54:03| #9

picard
picard (21.706 point)
Tak for svarerne !

Skrevet søn. d. 19. november 2000 kl. 10:00:09| #10

picard
picard (21.706 point)
Tak for svarerne. Jeg har valgt at give alle nogle point at gå hjem med :o)
Jeg kan se at det webhotel, firmaet har købt sig ind hos, ikke tilbyder asp,php ssi. Så jeg tror sq frames bliver løsningen !


Skrevet søn. d. 19. november 2000 kl. 12:26:31| #11

janegil
janegil (20.557 point)
CLIENT SIDE INCLUDE

Jepp. Javascript er jo en måte å få inkludert en felles kode i mange sider med er mekanisme på klienten. Bare synd at det ikke finnes noen standard måte å inkludere rein HTML på klienten, javascript er tross alt en omvei for å få skrevet en meny?

(<OBJECT> kan klare en slags client side include av HTML. Men det virker ikke i Netscape 4.75)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

hvordan fungerer en "phone version" af en side?

Oprettet den 25. maj 2012 kl. 13.03
kurdo giver 200 point for svar | Giv et svar »

Opsætning af design

Oprettet den 24. maj 2012 kl. 20.33
EveryMA giver 60 point for svar | Giv et svar »

adchoices - hvordan opretter man en konto?

Oprettet den 24. maj 2012 kl. 10.53
svogerslev giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger