Naar aanleiding van een recente ervaring van een kennis, en omdat we ons toch nog altijd een beetje in de vakantiesfeer bevinden, zou ik even willen stilstaan bij compatibiliteitsproblemen van browsers. Op vakantie in het buitenland surfte die kennis vanop een pc van het hotel naar de website van een Belgische luchthaven (u krijgt geen naam van me), om er het uur van zijn terugvlucht te controleren. Een normale reflex voor iedereen die regelmatig met zijn laptop op stap is, toch? In de tabellen met uurroosters viel helaas niets te bespeuren. De site schoot met andere woorden duidelijk tekort. Na controle bleek evenwel dat de gegevens in kwestie in JavaScript stonden, en dat die mogelijkheid gedeactiveerd was op de pc’s in het hotel.

Dit is een perfect voorbeeld van een veel voorkomend probleem bij de ontwikkeling van websites, of bij de compatibiliteitstests met verschillende browsers. Het antwoord van de ontwikkelaars is altijd hetzelfde: “Waarom ons zorgen maken om de weergave in JavaScript, als 95 procent van de browsers die technologieondersteunt?” (Bron:www.w3schools.com/browsers/browsers-stats.asp; januari 2008.) Kan goed zijn, maar ga je dan niet voorbij aan het feit dat personen die zonder JavaScript surfen zich daar vaak niet van bewust zijn, en de configuratie van hun toestel niet zelf kunnen wijzigen (keuze van de systeembeheerder of internetten op computers van derden – in een hotel, luchthaven, cybercafé, … – die JavaScript blokkeren)? Er bestaan uiteraard een hoop goeie redenen om JavaScript al dan niet te activeren op een computer.

Dat moet ieder voor zich uitmaken maar feit is dat het probleem bestaat. Moet het gebruik van JavaScript daarom gewoon verboden worden? Natuurlijk niet. Maar het mag enkel worden voorbehouden voor niet-kritieke applicaties of gegevens, en je vermijdt het bij voorkeur wanneer de gegevens een centraal en kritiek element vormen (zoals de vluchturen op de website van een luchthaven). Hoe dit probleem te omzeilen valt? In ons geval worden de gegevens opgevraagd en verwerkt via JavaScript, via een verzoek aan een server. De elegante oplossing – en trouwens de meest eenvoudige en universele – bestaat erin de gegevens op de server te berekenen en ze in een HTML-bestand naar de gebruiker te sturen. JavaScript kan dan eventueel een dynamische weergave toevoegen aan die gegevens (hersluitbare panelen, schuifbalken, klikken en slepen, …) via style sheets (CSS) voor het visuele aspect. Als JavaScript gedeactiveerd wordt, blijven de gegevens beschikbaar, maar kunnen ze alleen niet dynamisch beheerd worden. Vergeet dat aspect dus niet te testen bij de opleveringsfase van een website, of beter, laat het opnemen in het bestek …

Olivier de Wasseige

Fout opgemerkt of meer nieuws? Meld het hier

Partner Content