webForumDet fria alternativet

Statiskt och "dynamiskt" innehåll på samma webbsida. Metod?

HTML & CSS

3 svar · 1 994 visningar · startad av whiteshade

Medlem sedan aug. 20124 inlägg
Frågan#1

Vad ska man använda för metod för att kunna ha "statiskt innehåll" och att endast en del av webbsidan ändras när man klickar på en länk i en "menubar"?

Exempelvis; om man använder frames så kan man ju ha ett header-fönster ett main-fönster och ett footer-fönster. När man klickar på en "knapp" i menyn i headern så ser man innehållet för den knappen i main-fönstret. Dvs, main-fönstret är det enda som ändras, resten är statiskt.

Nu har jag läst att man inte bör använda frames längre, men vad ska man använda då för att få samma resultat som jag skrivit ovan? Är det boxar man ska ha? Men hur gör man då rent praktiskt för att slippa ändra på varenda sida och man vill ändra något. Jag vill ju bara behöva göra ändringar i en enda sida när jag ska ändra på de statiska delarna =)

Mvh Anna

Medlem sedan mars 20021 152 inlägg
#2

En välkommen fråga! :)
Isf ramar som laddar sina sidor kan du ha olika delar av en sida som separata filer och sedan använda include-kommandon på platsen för respektive del på i sidkoden.

Hela sidan laddas om när delar byts. Det du länkar till är en ny sida som har ett annat include-kommando för den siddelen, men det som inte byts finns ju redan i webbläsarens cacheminne.

Ett arbetssätt kan vara att testa sidan komplett som den ska vara och sedan plocka ut de kodbitar du vill och spara bitarna som separata filer. Kodbitarna inkluderar du sedan med ett include-kommando på respektive plats.

Hur kommandot ser ut och vilken filändelse bitarna bör ha beror på vilken plattform din server kör.

Medlem sedan dec. 2009872 inlägg
#3

Du kan använda Frames om du vill. Det är nästan ingen som gör det, men det är en bra början och det fungerar.

Det blir rätt snart rätt mer avancerat om du ska ha samma funktion fast på annat sätt. Det är bättre du börjar med Frames och lär dig lite om HTML på det sättet. Det är kunskap du kommer ha nytta av senare, så inget arbete är ogjort, allt kommer dig tillgodo!

***
Definitionen av dynamisk är inte riktigt det som du anger. Med dynamiska hemsidor menas sidor som byter innehåll baserat på olika former av yttre påverkan.

Exempel:
news.asp?ID=122
news.asp?ID=123
news.asp?ID=124

På denna sidan visas olika nyheter baserat på vilket ID nummer de har i databasen. Det är fortfarande samma sida, men innehållet är dynamiskt, dvs, utbytbart. Detta är normalt det tillvägagångssätt som man åsyftar då man avser "en dynamisk webbplats".

Medlem sedan aug. 20068 090 inlägg
#4

whiteshade skrev:

Vad ska man använda för metod för att kunna ha "statiskt innehåll" och att endast en del av webbsidan ändras när man klickar på en länk i en "menubar"?

Exempelvis; om man använder frames så kan man ju ha ett header-fönster ett main-fönster och ett footer-fönster. När man klickar på en "knapp" i menyn i headern så ser man innehållet för den knappen i main-fönstret. Dvs, main-fönstret är det enda som ändras, resten är statiskt.

Nu har jag läst att man inte bör använda frames längre, men vad ska man använda då för att få samma resultat som jag skrivit ovan? Är det boxar man ska ha? Men hur gör man då rent praktiskt för att slippa ändra på varenda sida och man vill ändra något. Jag vill ju bara behöva göra ändringar i en enda sida när jag ska ändra på de statiska delarna =)

Mvh Anna

Motfråga: Varför vill du att bara en del av innehållet ska ändras? Vad är det du vill uppnå?

Anledningen till frågan: För 10-12 år sen eller mer hade folk uppkopplingar som var oerhört långsamma och då hade det sina poänger att använda ramar eftersom man inte behövde ladda ner headers, footers och menyer för varje ny sida.

Idag existerar inte problemet med långsamma uppkopplingar längre och det finns därmed inget skäl att använda ramar i "normala" webbplatser. Titta runt på webben så ska du se att ingen* professionellt framställd webbplats kör med ramar.

Jag håller inte alls med civilpolisen utan tycker tvärtom att du absolut inte ska frestas bygga med ramar. Inte bara av ovan nämnda skäl, utan dessutom de här anledningarna:

1. Användarna kan inte använda webbläsarens tillbaka-knapp (om du inte lägger in javascript på sidorna).
2. Användaren kan inte bokmärka.
3. Användaren kan inte kopiera adressen till en speciell sida som referens.
4. Uppdaterar (laddar om) sidan får man plötsligt ett helt annat innehåll (om du inte lägger in javascript på sidorna).
5. Vill man printa ut en sida får du bara den aktuella ramens innehåll.
6. Sökmotorernas resultatlänkar går till den aktuella ramens innehåll. När en användare klickar en sån länk visas alltså inga menyer, headers, footers osv (om du inte lägger in javascript på sidorna som hindrar detta)
7. Pop-upmenyer kan inte går över gränserna mellan ramarna.
8. Scrollister kan dyka upp här och där mellan ramarna hos olika användare.
...och mer som jag glömt.

Slutsats: Gör enkla "flat pages" utan ramar. Har du många sidor och några eleent som dyker upp på samtliga (som t.ex. menyer, headers, footers) så kan du skapa dessa i varsin separat fil och sedan ladda in dessa i alla sidor med hjälp av ssi (server side include).

* Bara för att jag skrev "ingen" så hittar du väl en direkt. Men jag hoppas du förstår vad jag menar.

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)