i main, vil jeg gerne have vist siden side1.htm, som ligger i samme mappe som indexsiden. Derudover vil jger gerne have at hele min tabel følger størrelsen af siden, men den eneste der skal ændre størrelse, er main, altså der hvor jeg har mit indhold vist. Menuer og banner skal altid have samme størrelse.
hvis du gerne vil have vist siden side1.htm i din main td, er der 3 måder at gøre det på:
en iframe: du skal definerer en fast højde, og det er relativt omstændigt at tilpasse højden af din iframe til højden af dit content. er content højere end iframen vil der blive vist en scrollbar
et frameste: det du beskriver lægger mest op til et frameset. det skulle være relativt simpelt at omsætte dit layout i en tabel til det samme layout i et frameset.
server-side include: hvis du har kendskab til asp eller php kan du før siden sendes til browseren inkludere side1.htm det sted du gerne vil have indholdet af denne vist. siden kommer til at fremstå som een side, så side1.html skal selvfølgelig ikke indeholde dictype, html og body element etc..
Jeg har valgt at bruge iframe i denne omgang, for jeg har ikke nok kendskab til asp endnu, og jeg vil lave en hjemmeside uden frames. Kender godt metoden med at bruge frame og så bare lave src="side1.htm". Når jeg så linker i min menu og bare vil have den til at smide siden ind i min main td, hvordan skal det link så se ud? lad os bare sige jeg skal have et link i stil med: <a href="side1.htm">Forsiden</a>
Nååh, jeg fandt selv ud af det med at lave target til min iframe. Men jeg mangler stadigvæk at finde ud af hvordan jeg får min tabel til hele tiden at følge størrelsen på browservidnuet, så det ikke har noget at sige om man kører 800X600 eller 1280X1024. Noget du kan hjælpe mig med milandt?
i øvrigt er min holdning, at hvis grunden til at bruge en iframe er for at undgå at bruge et frameset, så er det en dårlig løsning. du opnår ikke større brugervenlighed eller gør din side lettere at indexere ved at bruge en iframe. tværtimod støder du ind i problemer som f.eks højden på iframen i dit tilfælde - noget et frameset ville løse - og det er præcis egenskaber fra et frameset eller server-side include du efterspørger. en iframe har nok sin berettigelse, men ville betegne den som den mindst egnede af de tre forslag jeg kom med.
Det er også min mening at hente siden ved brug af ASP, men jeg er endnu ikke god nok til at bruge asp.
Grunden til jeg ikker bruger frames, er at jeg vil lære mig selv at bruge tabels i stedet for. Jeg kan nemlig godt finde ud af at bruge frames allerede, men vil gerne være så alsidig som muligt :)
En af mine venner er en rimelig fornuftig hjemmeside programmør og han siger at det er at foretrække at man bruger tabels i stedet for frames. Har det noget på sig?
tables kan ikke erstatte frames, men hvis man en af fordelene ved at bruge et frameset er at koden bliver lettere at vedligeholde, idet du kan have en side med din menu i en frame til venstre, en side med dit top-banner i en frame i toppen, og så dine content sider i en frame i midten.
nette kan man også opnå ved at bruge server-side includes, og så erstatte sit frameset med en tabel med tre td'er, en til menuen, en til toppen, og en til main content.
i asp skal du gøre følgende, for at inkluderer side1.html det sted du gerne vil have den indsat:
har lavet min side om til frames. Men nu er der så bare det problem at selvom jeg laver frameborder til 0, forsvinder de alligevel ikke helt. Der er stadigvæk en hvid streg, hvilket ødelægger mit design temmelig meget. Hvordan får jeg den væk?
For at <!--#include file="side1.html"--> virker efter hensigten skal pågældende side gemmes som .asp - der behøver dog ikke være noget andet asp kode i siden.
Det er også et krav at siden bliver vist fra en webserver - dvs at hvis du har dine sider liggende lokalt når du arbejder med dem, så skal du sætte din IIS (webserver) op til at siderne som et website. Alternativt kan du bare uploade dem til dit webhotel.
Med hensyn til dine borders i dit frameset, sæt frameborder="no" på dit frameset:
Når jeg nu har installeret IIS på min computer og bare har filerne liggende i mappen D:\min side\ Hvordan skal jeg så gøre for at få det vist? Bare gemme den som .asp og vise den? Det synes jeg nemlig ikke rigtig virker :S
Du åbner IIS'en og folder træstrukturen ud til venstre, til du finder det der hedder "Default web site", og højreklikker på det og vælger properties. I det vindue der åbner finder du fanebladet "Home directory", og der kan du sætte det der hedder "Local path" til at være der hvor du har dine websider liggende lokalt.
Fik du i øvrigt svar på dit oprindelige spørgsmål?
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.