1. InledningSom du har sett hittills är JavaScript inget enkelt språk. Det är svårt att få överblick och många gånger händer det att ett script inte fungerar. Här beskriver jag litegrand om varför och vad man då kan göra. 2. Vilka fel kan uppstå?I princip finns det tre olika typer av fel. Jag kallar dem syntaxfel, scriptfel och browserfel. a) SyntaxfelSyntaxfel är sådana där man skrivit fel i koden. Det kan vara parenteser som inte avslutats, kommatecken som skrivits på fel ställe, variabelnamn som stavats fel, osv. Dessa fel är alltså slarvfel och uppstår för alla som försöker skriva egna scripts. Man kommer med tiden att skriva färre fel av den här typen eftersom man då blir mer van vid hur det skall se ut. b) ScriptfelScriptfel kallar jag fel som är lite allvarligare än rena felstavningar. Ett scriptfel uppstår då man har använt en felaktig operator, ett kommando som inte kan placeras där det nu står, en referens till en variabel som inte går att göra, osv. Här har vi alltså fel som ofta beror på att man har för dåliga kunskaper om vad det är man försöker göra. Därför kan man i början försöka låna scripts som andra har gjort (som fungerar) och modifiera dem för eget bruk. Har man ett original att jämföra med brukar scriptfelen framstå ganska tydligt. c) BrowserfelNågra av de scripts jag visat som exempel på de sidorna du hittills har läst fungerar inte i vissa webbläsare. Koden är alltså helt rätt i övrigt, men webbläsaren använder en tolkning som gör att scriptet inte körs. Fel av den här typen upptäcker man då man försöker köra sina scrpts i flera olika webbläsare. På webbläsarnas tillverkares hemsidor brukar man ibland hitta hjälpsidor som förklarar vilken eller vilka versioner av scriptspråk som de stöder och använder. Då kan man förhoppningsvis rätta sådana här fel. 3. Åtgärder att ta tillSom jag redan nämnt gäller det alltså att:
Om du börjar med dessa tre åtgärder så kommer du att hitta många fel. Ett sätt att leta fel i koden kan vara att skriva ut scriptet på papper och anteckna och rätta med en penna. Kolla också alltid Html-koden som anropar scriptet. Ladda även om sidan och gör de åtgärder jag berättade om på "100 frågor & svar", särskilt avsnitt F. Läs mer > Om inte dessa åtgärder fungerar kan du alltid försöka något av följande: Lägg scriptet på en egen sida och se om det fungerar. Gör det det kan det finnas en konflikt med andra scripts eller Html-element på sidan. Ta bort delar av scriptet och försök se om det finns vissa delar som ställer till problem. Man kan också kommentera bort rad för rad med // för att på så vis "stega" igenom scriptet. om scriptet fungerar när en viss rad kommenterats bort finns förmodligen en viktig del av felet på just denna rad. Vissa webbläsare har en inbyggd debugger (felsökare, avlusare) som man kan använda för att hitta fel. För vissa webbläsare måste man installera en sådan som en plugin. Debuggerna kan då användas för att söka igenom scriptet och hitta fel i det. Det finns även särskilda program som rättar fel i scripts. Sådana program finns både i köpprogram som Dreamweaver och GoLive, men kan också hittas som shareware på de stora filarkiven. På min sida med surftips hittar du länkar till filarkiv. Läs mer > Sådana program hjälper också till med mycket av kodningsarbetet, genom att ha bibliotek med färdiga kodfragment. Men det bästa tipset jag kan ge så här i början är att arbeta med noggrannhet, tålamod och med egna kommentarer och anteckningar inne i koden. 4. Svenska teckenI Html finns olika sätt att visa svenska tecken. Man kan t.ex utnyttja de umlauts som finns, som jag berättade om på sidorna om webdesign, särskilt ISO-8859-1. Läs mer > I JavaScript finns dock ingen motsvarighet. För att visa svenska tecken i alert-rutor och andra meddelanden måste man därför använda en teckenstandard som webbläsare och servrar "klarar av". Då är det inte ISO-8859-1 som gäller utan UTF: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Men som fanligt gäller att det inte finns några garantier. Särskilt problematiskt blir det för dem som har äldre webbläsare eller som arbetar på en dator som har en avvikande teckenstandard, t.ex Mac OS X. |