tirsdag 10. juli 2007

JavaScript

Problema eg har referert til med sider som blir tolka forskjellig i ulike nettlesarar, skuldast JavaScript-kode. Det er problem som kjem til syne ved at koden blir tolka ulikt, eller problem du får dersom nettlesaren din ikkje har støtte for JavaScript eller den er slått av.

JavaScript vart utvikla av Netscape på midten av 1990-talet som ei utviding av språket ECMAScript. Namnet JavaScript, og med det mange feilkoplingar til programmeringsspråket Java, var i følgje Wikipedia resultatet av ein hestehandel med Sun. Spørst om det var så lurt.

No er utviklinga av JavaScript lagt til Mozilla Foundation, gjennom det heileigde selskapet Mozilla Corporation. Mellom direktørane for Mozilla Foundation er Brendan Eich, ein av dei som utvikla JavaScript hos Netscape. Men Mozilla er ikkje veldig tydelege på kva dei vil med skript-språket framover.

Er JavaScript ein standard? Dei mest brukte versjonane av JavaScript er SpiderMonkey (ein C-implementasjon) og Rhino (Java-implementasjon) følgjer begge ISO-standarden ECMA-262 ver. 3 og slik sett er det ein standard.

Tilbake til trøblete nettsider: Kvifor bruka JavaScript når det skapar problem? Det er eit stort behov for eit språk som kan manipulera HTML-kode og gjera sidene meir dynamiske. Men utviklarar må heile tida spørja seg:

  • Kan dette løysast utan bruk av JavaScript?
  • Korleis ser dette ut utan JavaScript-støtte?
  • Kan dette blokkera for ein del kommunikasjon (t.d. søkemotorar)?
  • Ser det likt ut i alle (mest brukte) nettlesarar?
Det første spørsmålet er det viktigaste. I dei overordna måla for utarbeidinga av XHTML 2 heiter det då også:
Less scripting: achieving functionality through scripting is difficult for the author and restricts the type of user agent you can use to view the document. We have tried to identify current typical usage, and include those usages in markup.

1 kommentar:

Nils Arne sa...

Det er vel ikkje Javascript det er noko i vegen med. I einkelte tilfelle er det nyttigt med "klient-programmering" t.d. ved validering av imput verdiar og AJAX-koding. Då oppstår problemet med at vi har ulike nettlesarar som tolkar "klient-koden"(t.d Javascript) ulikt, eller ikkje har støtte i det heile. Men eg er einig i at dersom det er brukt Javascript (eller anna klientspråk) bør dette opplysast om, og gi dei som ikkje har nettlesarar som tolkar dette eit anna alternativ.