Avatar billede DanielUH Novice
19. februar 2014 - 10:31 Der er 7 kommentarer

Ekstern menu i HTML - Nemmere måde at opdatere menuen på

Jeg søger et endeligt svar på følgende spørgsmål om menuer i HTML/CSS:

Kan det lade sig gøre at lave en ekstern menu, som du kan importere til alle dine HTML sider, sådan at du er fri for at skulle sætte menuen ind på hver enkelt side. Det ville være super dejligt, især også hvis menuen nu skal opdateres.

Kunne det tænkes, at man blot kan lave en separat HTML-fil med menuen og på en måde linke til denne ?
Jeg ved, at man kan med PHP osv., men kan man på nogen måde i helt almindelig HTML? Hari kke mod på PHP lige nu.

På forhånd tak, Daniel.
Avatar billede Slater Ekspert
19. februar 2014 - 10:54 #1
I ren HTML kan den slags kun lade sig gøre ved at bruge frames, hvilket er en dårlig løsning, eller AJAX, hvilket ødelægger SEO. Der skal noget server-side til - og det kommer an på din server, hvad der kan lade sig gøre. Hvis den understøtter f.eks. SSI (server side includes) er det simpelt. Så kan du f.eks. bruge:
<!--#include virtual="menu.html" -->

Hvis den understøtter PHP, behøver du jo heller ikke lære sproget, for at kunne bruge de utroligt simple include-muligheder der er. F.eks.

<?php include 'menu.html'; ?>

- Men problemet er, at alle disse muligheder skal køres på en webserver. Du kan altså ikke bare dobbeltklikke på en html-fil på din computer og se det virke. Så er der desværre kun frames eller AJAX.
Avatar billede DanielUH Novice
19. februar 2014 - 11:36 #2
Okay. Super.

Hvis man så bruger frames, hvordan skal den eksterne fil så se ud og hvordan linker man til den? (jeg har slået det op mange gange, men kan ikke få det til at fungere)...
Avatar billede DanielUH Novice
19. februar 2014 - 11:37 #3
Okay. Super.

Hvis man så bruger frames, hvordan skal den eksterne fil så se ud og hvordan linker man til den? (jeg har slået det op mange gange, men kan ikke få det til at fungere)...
Avatar billede Slater Ekspert
19. februar 2014 - 11:54 #4
Hvis du bruger frames, så skal den fil du inkludere være fuldt formet, altså have doctype, header, body osv. med. Det ville den ikke skulle, hvis du inkluderede den server-side.

Den nemmeste form for frame at bruge er en iframe. Den kan du lave sådan:

<iframe src="menu.html" style="border: none; width: 200px; height: 500px;"></iframe>

Du kan også godt bruge procenter i højde og bredde. Til gengæld kan den ikke gøres dynamisk, så den automatisk udvider sig efter indholdet.

Jeg vil dog lige gentage, at løsningen er ilde set i dag, og også ødelægger SEO.
Avatar billede Slater Ekspert
19. februar 2014 - 11:57 #5
Du inkluderer*

Jeg kan godt nutids-R, det var en tastefejl.
Avatar billede DanielUH Novice
19. februar 2014 - 12:04 #6
Det er super - Jeg kan godt se, hvad du mener med at det er en ringe løsning ift. SEO.
Men spørgsmålet er stadig besvaret (Viperine) - TAK.
Avatar billede Magn0053 Novice
23. marts 2014 - 02:20 #7
Hej DanielUH

Ville Javascript være okay?

Magn0053
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

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