Logotyp för Björns studiewebb

JavaScript (JS)

Inledning

På denna underwebb beskrivs hur man kan utöka webbsidors funktionalitet med JavaScript. Beskrivningar är på inget sätt uttömmande (bl.a. då detta är ett omfattande ämne) och förutsätter en grundläggande förståelse för programmering (i något språk, inte JavaScript :-)).

Exempelsidor i denna underwebb använder HTML version 5, men JavaScript bör även fungera med HTML 4 och XHTML 1.

Observera att denna underwebb använder JavaScript! :-) För att kunna använda underwebbens funktion (främst öppna nya fönster med exempel) krävs att din webbläsare stödjer JavaScript samt inte har inaktiverat JavaScript!

Om JavaScript generellt

JavaScript har genom åren fått ett dåligt rykte, bl.a. då folk inte litar på teknologin (p.g.a. säkerhetrisker och olika funktion hos olika webbläsare) samt att många designers har "överanvänt" teknologin i tron om att deras webbplatser blir "hippare". Stödet för JavaScript har, som sagt, fungerat olika i olika webbläsare, bl.a. gick Microsoft sin egen väg vilket ledde till att designers var tvungna att skriva JavaScript-kod för två olika "modeller". I.o.m. introduktionen av Document Object Model, DOM (och lite tankearbete från intelligentare än mig :-)), så finns det nu ett angreppssätt som gör att vi kan skriva kod för endast en "modell".

Vad detta betyder är att DOM är ett programmeringsgränssnitt (eng. Application Programming Interface, API) som är oberoende av programmeringsspråk och andra teknologier (så som operativsystem och webbläsare). DOM fungerar alltså inte bara med HTML utan kan, teoretiskt, fungera med andra typer av (strukturerade) document. DOM innebär att vi kan, med t.ex. JavaScript, ändra ett dokuments innehåll, struktur och presentation (CSS) utan att hämta en ny webbsida från webbserver (vilket bl.a. är grunden för AJAX - se Var nu? i meny).

Ett viktigt begrepp i samband med JavaScript är "elegant nedgradering" (eng. graceful degradation), vilket innebär att en webbplats alltid ska fungera oavsett vilka teknologier besökares webbläsare stödjer (CSS, JavaScript, m.m.). JavaScript bör alltså användas för att utöka upplevelsen av ett besök och inte hindra besökare från att komma åt delar av webbplatsen. Ytterligare ett intressant begrepp är "diskret JavaScript" (eng. unobtrusive JavaScript), d.v.s. JavaScript ska inte vara ett krav för att besöka webbplats samt ska inte vara "påträngande" (reta upp besökare). För att detta ska fungera så måste vi först designa webbplats utan andra teknologier (så som CSS och JavaScript). Först när design (eller snarare struktur) är klar så ändrar vi presentationen med CSS och funktionaliteten med JavaScript (se sidan DOM).

"The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page."

Document Object Model (DOM), World Wide Web Consortium (W3C).

Till början på sida

Referenser

Nedan finns några böcker och webbsidor/-platser som jag använt för att skapa denna underwebb.