Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du kan også lave en javascript fil, som mange bannerbyt-firmaer gør. Det er bare grimt og besværligt, da du er nødt til at skrive document.write(""); omkring hver linje. Dog den eneste mulighed, så vidt jeg ved, bortset fra frames, hvis det skal fungere lokalt. I så fald skriver du bare <script type="text/javascript" src="menu.js" /> hvor du vil have den.
document.write på hver linje er rigtig dårlig kode - hvilket i øvrigt er kendetegnende for de fleste medie-bureauer og bannerbyt-firmaer.
Du kan sagtens lave en god menu, der inkluderes med JS - men i SEO-sammenhænge er det langt værre end (i)frames. Serverscripting er eneste realistiske/fornuftige løsning :)
Jeg sagde ikke det var god kode, men nu er server-side jo sjovt nok ikke en mulighed, da siden skal kunne afleveres lokalt, så det er stadig, så vidt jeg ved, den bedste metode af dem til rådighed.
IIS'en (webserver på windows platformen) er vist sat sådan op at du kan bruge SSI i *.shtml filer. I princippet kan man sætte sin webserver på så du kan bruge SSI på hvilen som helst type filer, men det er ikke sikkert det er en mulighed hvis du har dit site hosted på en delt server.
Prøv at lave en .shtml fil, og bruge server side include sådan her: <!--#include virtual="/include.html" -->
Du laver bare dine sider med SSI: <!--#include.....-->, tester på en server der understøtter det. Når alting virker og du skal aflevere produktet, lader du et lille program (skrevet i hvad som helst, C, C#, Perl, Pascal, Java, YouNameIt), løbe dine HTML-sider igennem, finde <!--#include...-->, og indsætte indholdet af den inkluderede fil. Kan tænkes sådan et program allerede findes. Du kan stadig rette i de oprindelige filer, køre programmet igen, og have opdaterede sider.
Jeg hælder til .js løsningen, som viperine nævner... Det er jo ikke din skyld, at du ikke kan bruge din viden til at udføre opgaven professionelt...
Jeg vil anbefale at du bruger jsdom metoder istedet for document.write og innerHTML til at oprette din menu i html dokumentet :)
- eller gør som erik siger ... og lægger menuen ind på alle sider ... det fylder mere - men det er jo stadig ikke din skyld.
Stræber mulighed: Vedlæg en udgave i php eller asp med den korrekte udgave der er seo optimal... Og så den anden udgave med en af de ovenstående løsninger (frame/js/tung html) =)
Edit en php included eller asp included menu så det virker som en side (outputtes sammen med den anden html) er jo det samme slutresultat som det forslag erik kommer med (så at kalde det for tung html i forhold til php/asp included menu er jo forkert - undskyld erik) ... nåh, det er for sent på aftenen :D
Min anke vedr. document.write på hver linje gik nu egentlig på noget andet. I de fleste sprog er det, så vidt jeg ved (måske Erik kender undtagelser), fra hurtigere til dramatisk hurtigere at samle én streng og udskrive ét sted - i forhold til at udskrive linje for linje. I JS går det således op til flere hundrede gange hurtigere at stoppe strenge i et array, som tilsidst join'es i en document.write:
Jeg er ikke sikker, men jeg mindes et eller andet om, at ARRAY.push("string") kom en lille anelse langsommere ud af en test, jeg engang lavede. Derfor den valgte metode ... men det er absolut småting - hvis jeg overhovedet husker korrekt =)
På den anden side - hvis det stadig skal være en JS-løsning, hvilket jeg stadig ikke selv ville vælge - er det ganske rigtigt endnu bedre at bruge DOM. Da vi alligevel om nogle år skal til at skrive XHTML, kan vi ligeså godt begynde at tilstræbe, vores scripts stadig er brugbare til den tid. Det giver i hvertfald langt mere mening, end at gå ud af sit gode skind for at få sine dokumenter til at validere mod XHTML idag ... blot for at finde ud af, at alle ens scripts får bruseren til at gå ned med et hult drøn og en XML-fejl, når standarden hedder 2.0 og den er understøttet af browserne ;o)
jonat >> Lav en fil, du kalder menu.js I den skriver du (uden script-tags eller noget):
var d=document; var aMenuLinks = [ ["page_1.html", "Side Et"], ["page_2.html", "Side To"], ["page_3.html", "Side Tre"], ["page_4.html", "Side Fire"] ]; function buildMenu() { var oPar, oLnk, oTxt; oPar = d.getElementById("menu"); for (var i=0; i<aMenuLinks.length; i++) { oLnk = d.createElement("a"); oLnk.setAttribute("className", "menuLink"); oLnk.setAttribute("href", aMenuLinks[i][0]); oTxt = d.createTextNode(aMenuLinks[i][1]); oLnk.appendChild(oTxt); oPar.appendChild(oLnk); } }
Så kan du importere denne menu i dine HTML-filer med:
- og så oprettet div'et 'oPar' med DOM - brugt ELEMENT.replaceChild og dermed udskiftet script-elementet med menu-div'et. Det havde været en anelse mere 'sexy' ... men ak =)
- tilgengæld ville den dybere programmatiske logik nok blive mindre transparent, hvis man skifter scriptkode ud med kode, der repræsenterer et element ... men 'oppe' på element-niveau ville det se okay ud ;o)
Jamen, så fejer jeg da gerne op ;o) - har ikke været så aktiv herinde på det seneste, så jeg undskylder den sløve respons
Synes godt om
Ny brugerNybegynder
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.