Avatar billede kfk Nybegynder
28. februar 2006 - 20:48 Der er 9 kommentarer og
1 løsning

Indhold i Dropdownmenu

Hej Eksperter

Kan man styre indholdet i en dropdown menu som fx. www.dtu.dk via et doc, txt eller andet. Eller kan man indlæse det samme script hver gang en side loades. Formålet skal være, at hvis der skal tilføjes en ekstra side, så skal den nye sides link ikke tilføjes i samtlige dropdown menuer på alle sider.

Mvh. KFK
Avatar billede o-zone Nybegynder
01. marts 2006 - 14:34 #1
Helt generelt har clientside scripting alvorlige problemer med at hente ting fra filsystemet (det er en sikkerhedsmæssig ting!).

Men du kunne f.eks. indlæse en ekstern javascript fil der bygger din selectbox op. På den måde behøver du kun at ændre i den eksterne javascript fil, når du vil ændre selectboxen (Det er en workaround for almindelige serverside includes der er klart at foretrække, hvis du har adgang til dem!).
Avatar billede o-zone Nybegynder
01. marts 2006 - 14:47 #2
et skrabet eksempel:
---[page1.htm]---
<body>
<script language="javascript" type="text/javascript" src="minSelect.js">
</script>
<br>
Her kommer alt det andet på side 1
</body>
-----------------
---[page2.htm]---
<body>
<script language="javascript" type="text/javascript" src="minSelect.js">
</script>
<br>
og her står alt hvad der skal på side 2
</body>
-----------------
---[minSelect.js]---
var str = "<select>\n";
str += "\t<option value='valg1'>valg1</option>\n";
str += "\t<option value='valg2'>valg2</option>\n";
document.write(str+"</select>\n");
--------------------
Avatar billede o-zone Nybegynder
01. marts 2006 - 14:51 #3
altså: du indsætter:
<script language="javascript" type="text/javascript" src="minSelect.js">
</script>
Hvor du nu end gerne vil have din selectbox

...men det er stadigvæk MEGET nemmere at bruge serverside includes! (der kan du bare have en lille stump HTML liggende i en fil, istedet for at skulle bygge den op i javascript ... og det kører serverside, så du kan være sikker på at det virker også i lortebrowsere og for folk der har slået javascript fra (gud nåde og trøste deres deres sorte sjæle ;-) )
Avatar billede kfk Nybegynder
01. marts 2006 - 21:10 #4
Det virker jo fint. Mange tak. Masser af points til dig.

Men du har gjort mig lidt nysgerrig. Hvad er serverside includes?
Avatar billede o-zone Nybegynder
01. marts 2006 - 23:23 #6
Det er en super nem måde at indsætte den samme stump HTML (eller andet) i flere forskellige filer. Du angiver nærmest bare hvor en given kodestump skal indsættes i din HTML fil, og serveren sørger for at indsætte den INDEN HTML filen bliver sendt til brugeren (det vil sige brugeren vil aldrig opdage at det ikke bare er en almindelig html fil).
Syntaksen kan være:
...alm. HTML...
<!--#include virtual="minSelectbox.htm" -->
...alm. HTML...
og så har du en fil der hedder minSelectbox.htm som indeholder:
--[minSelectbox.htm]--
<select>
  <option value="valg1">Valg1</option>
  <option value="valg2">Valg2</option>
</select>
----------------------
(altså udelukkende den stump kode du vil have til at dukke op istedet for SSI koden)

Det eneste det kræver, er at din server (/dit webhotel) understøtter SSI.
Det er både nemmere og sikrere end at bruge Javascript til at bygge det op.
(Hvis din selectbox f.eks. er en del af jeres navigeringssystem for sitet, er man prisgivet, hvis man af en eller anden grund ikke kan eksekvere javascript - det er man ikke hvis det hele ER bygget op af serveren på forhånd, inden filen når ens browser)

Der er masser af info om SSI på nettet, men det er såmænd rørende enkelt at bruge, hvis det ellers er sat op på din webserver. Se f.eks. http://www.webcafe.dk/artikler/apache/ssiintro/ http://www.webcafe.dk/artikler/apache/ssiintro/
Avatar billede o-zone Nybegynder
01. marts 2006 - 23:24 #7
he he he ... der var jeg 3 minutter bagud :-P
Avatar billede kfk Nybegynder
02. marts 2006 - 00:07 #8
Det rykker!!! Jeg er sikker at SSI er løsningen. Grunde til at jeg begyndte at lave navigeringssystemet i Java, var at det var ment og enkelt at tilpasse designet på min MouseOver dropdownmenuen. Mine menuer skal nemlig fungerer ligesom www.dtu.dk bare med andre farver. Vil jeg kunne "include" mit javascript uden at det vil give problemer for browsere der har slået java fra, eller skal det hele være html?

Mange tak for dine omhyggelige beskrivelser!
Avatar billede o-zone Nybegynder
02. marts 2006 - 00:28 #9
Der er ingen pricipiel forskel på kode der kommer fra originalfilen og kode der er blevet inkluderet af serveren, så du kan sagtens include javascript ... men har brugeren fravalgt det, så vil det ikke virke uanset om du har skrevet det i hver HTML fil, eller om du include'r det.
Avatar billede kfk Nybegynder
02. marts 2006 - 00:49 #10
Ok! Mange tak for hjælpen o-zone.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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