<<< Förra avsnittet Innehåll Nästa avsnitt >>>

Client-side scripts

Ett client-side script är ett dataprogram som körs på användarens dator. Programmet kan antingen ligga inbäddat i HTML-koden eller anropas via en script-deklaration (se nedan). Programmet körs antingen igång när dokumentet laddas in, eller vid något senare tillfälle, som till exempel när musen rörs över ett visst objekt på sidan, eller när användaren klickar på en länk.

Client-side scripts kan bland annat användas för att dynamiskt ändra innehållet på webbsidan (lägga till text, byta ut bilder etc), processa formulärinnehåll (fylla i formulärfält beroende på värdet i andra fält, kontrollera att ifyllda värden ligger inom ett tillåtet intervall etc), göra dialogrutor som kommer upp när användaren klickar på en knapp, skriva saker i webbläsarens statusrad (det utrymme som normalt används för att visa pågående inladdning samt vart länkar leder), låta webbsidan förändras när användaren för musen över vissa ytor på sidan etc.

HTML-specifikationen medger att man lägger in eller anropar program skrivna i vilket programmeringsspråk som helst, men för att programmet ska kunna köras krävs att användarens webbläsare har stöd för det språk som används. Exempel på programmeringsspråk som används i detta sammanhang är Javascript, Vbscript och Tcl.

Javascript

Javascript (som tidigare hette Livescript) är ett programmeringsspråk för client-side scripts som stöds av flera olika webbläsare, bland annat Netscape Communicator och nyare versioner av Microsoft Internet Explorer. Exemplen här nedan är skrivna i Javascript.

En varning kan vara på sin plats här: de webbläsare som stöder Javascript har var och en sin egen uppfattning om hur språket skall tolkas, och alla olika versioner av dem (Windows, Macintosh, Unix etc) har sin egen uppsättning programfel. Så bered dig på mycket testande; ett Javascript som fungerar utmärkt i en webbläsarversion kan göra att en annan webbläsare och/eller användarens dator låser sig.

Javascript är inte detsamma som Java.

Scripts som körs direkt

De client-side scripts som ska köras igång direkt när laddas in läggs mellan styrkoderna <SCRIPT> och </SCRIPT>. Programmet kan ligga antingen inom "head"- eller "body"-delen av HTML-filen.

Man kan lägga in scriptet i HTML-koden, då skriver man

<SCRIPT TYPE="text/javascript">
...javascriptets kod och kommandon...
</SCRIPT>
Man kan också anropa ett script i en annan fil med
<SCRIPT TYPE="text/javascript" SRC="http://www.firma.se/script/allan">
</SCRIPT>
Notera att man måste ange vilket scriptspråk som används med TYPE. Som värde till TYPE anges en giltig mediatyp, i detta fall "text/javascript". Tidigare var det vanligt att man angav scriptspråket med attributet LANGUAGE istället för TYPE, men detta rekommenderas inte, eftersom de värden som LANGUAGE kan ha inte är standardiserade.

Scripts som körs vid speciella händelser

De client-side scripts som ska köras igång när en speciell händelse inträffar anropas med speciella händelse-attribut (intrinsic events) som läggs till den styrkod som har med händelsen att göra.

De händelse-attribut som finns är onload, onunload, onclick, onbdlclick, onmousedown, onmouseover, onmousemove, onmouseout, onfocus, onblur, onkeypress, onkeydown, onkeyup, onsubmit, onreset, onselect och onchange.

Om man till exempel vill att ett script ska köras när muspekaren rörs över en bild lägger man in scriptet med attributet onmouseover till <IMG>-koden. Om man vill att ett annat script ska köras när muspekaren rörs bort ifrån bilden lägger man in detta med attributet onmouseout.

Ett exempel på en vanlig tillämpning är att styra vad som kommer visas i statusraden längst ner i webbläsarfönstret när användaren pekar på en länk (men inte klickar). Man lägger då in onmouseover som ett attribut till styrkoden <A HREF>:

<A HREF="kaka.html" onmouseover="window.status='Allan tar kakan'; return true">Länktexten</A>
När man för muspekaren över länktexten kommer texten "Allan tar kakan" visas i statusraden istället för den vanliga informationen om vart länken leder.

Webbläsare som inte stöder scripts

För att erbjuda ett alternativt innehåll för webbläsare som inte stöder det scriptspråk som används, och för webbläsare som inte alls stöder client-side scripts, kan man använda styrkoden <NOSCRIPT>. Koden avslutas med </NOSCRIPT>.

Webbläsare som inte stöder client-side scripts alls kommer förmodligen att visa script-koden mellan <SCRIPT> och </SCRIPT> som text på webbsidan. För att undvika detta så kan man använda kommentarskoder för att dölja koden för dessa. Kommentaren börjar med <!-- som vanligt. Denna kod bör stå ensam på raden. Kommentaren ska sluta med -->, men för att inte den koden ska tolkas som att den ingår i scriptet så måste den föregås av script-språkets kommentarskod. För Javascript är den //, dvs kommentaren slutar med en rad med koden // -->. Andra scriptspråk använder andra kommentarsmarkeringar.

Läs mer om client-side scripts här

Läs mer om Javascript hos Monkeytoys, Netscape eller Bellevue Community College

<<< Förra avsnittet Innehåll Nästa avsnitt >>>


Copyright © Anders Hultman 1998-02-21