HTML-scripting: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Taka (overleg | bijdragen)
k Wijzigingen door 80.61.245.200 hersteld tot de versie na de laatste wijziging door Michiel1972
Regel 1:
Met '''HTML-scripting''' (of soms '''client-side-scripting''') worden scripts (meestal [[javascript]]) aangeduid die in de [[HyperText Markup Language|HTML]]-code van een document staan. De scripts zorgen er voor dat de webpagina interactief wordt. Het is daartoe echter noodzakelijk dat de gebruikte [[webbrowser]] de [[scripttaal]] ondersteunt.
 
==Inleiding==
In 1995 werd de [[Netscape Navigator]] versie 2.0 uitgebracht, die als eerste browser ondersteuning bood voor scripts in HTML-documenten. De gebruikte scripttaal werd aanvankelijk ''Livescript'' en later [[JavaScript]] genoemd.
 
Met de introductie van JavaScript werd het mogelijk om de statische HTML-documenten een zekere interactiviteit te geven. Dit heeft in latere jaren geleid tot de lancering van [[Dynamic HTML]] en daarna tot nog verdere vergroting van de interactiviteit van HTML-documenten.
 
[[Microsoft]] kon in deze ontwikkeling niet achterblijven, en voorzag [[Internet Explorer]] van een vergelijkbare scripttaal. Omdat er toch kleine verschillen waren, bracht Microsoft de scripttaal uit onder de naam [[JScript]]. Vanaf versie 3.0, ondersteunt Internet Explorer niet alleen JScript, maar ook [[VBScript]] en (tot versie 5.x) perlscript.
 
De scripttalen die gebruikt worden in HTML-documenten, worden ook in andere toepassingen gebruikt. De talen worden elk besproken in hun eigen lemma.
 
==Browsers en scripts==
Regel 10 ⟶ 17:
De ondersteuning voor scripts moet in de browser zijn ingebouwd. Alle geavanceerde browsers ondersteunen javascript. De ondersteuning voor VBScript is beperkt tot Internet Explorer. Onder [[Microsoft Windows|Windows]] gebruikt Internet Explorer de standaard [[interpreter]]s die in Windows zijn ingebouwd (''jscript.dll'' en ''vbscript.dll''). In andere gevallen is de interpreter onderdeel van de installatie. Er zijn enkele onderlinge verschillen tussen de browsers in de interpretatie van javascript. Een andere mogelijke bron van verschillen in interpretatie van scripts is gelegen in gebruik van een ander model van het document door de browser (zie [[Document Object Model]]).
 
==Toepassingen van scripts in HTML==
Scripts geven de browser opdracht om iets te doen. De browser kan daar op reageren door bijvoorbeeld een waarschuwing (''alert'') te tonen. De krachtige toepassingen liggen in opdrachten die betrekking op het getoonde document. Via het ''[[Document Object Model]]'' kan de browser namelijk eigenschappen van dat document opvragen en aanpassen. Veel gebruikte toepassingen zijn:
* '''controleren van een ingevuld formulier''' of '''validatie'''. Met een script kunnen de ingevulde gegevens in een [[HTML formulier|formulier]] in een webpagina worden gecontroleerd voordat het formulier wordt verstuurd. Omdat deze controle op de computer van de gebruiker plaats vindt, gaat dit veel sneller dan controle op de [[webserver]] na het versturen. Bovendien wordt de server minder belast, waardoor het ook voor andere gebruikers ondertussen sneller gaat. Overigens blijft controle op de webserver vaak nodig, omdat niet elke gebruiker de ondersteuning voor scripts heeft geactiveerd. Bovendien zijn een aantal gegevens alleen op de webserver te controleren, bijvoorbeeld of een ingevuld e-mailadres al eens eerder is gebruikt.
* '''gebruik van cookies'''. Met scripts kunnen [[cookie (internet)|cookies]] in de browser worden geplaatst en weer teruggelezen.
* '''ophalen van nieuwe informatie'''. Scripts kunnen de browser opdracht geven om nieuwe informatie op te halen van de webserver. Dat gebeurt vaak door een nieuw venster te openen, met daarin een nieuw document. Maar het is ook mogelijk dat de nieuwe informatie wordt opgeslagen als een variabele, en die vervolgens in het bestaande document wordt verwerkt.
* '''aanpassingen van de stijl'''. De [[Cascading Style Sheets|stijl]] van elementen van het document kan door middel van scripts worden aangepast. De toepassingen hiervan zijn legio.
* '''dynamische menu's''' (als voorbeeld van aanpassing van stijl). Veel webpagina's maken gebruik van dynamische menu's, zodat de gebruiker nieuwe (onderliggende) keuzes ziet verschijnen als de muis over een hoofdkeuze wordt gezet.
 
Een interessante oefening in HTML-scripting is ''Wolfenstein 5k'', een 3-dimensionale [[first person shooter]] geschreven in javascript met een code van slechts 5119 [[byte]]s (dat is vergelijkbaar met een middellang artikel op de Wikipedia). Het was een inzending in de competitie van de [[5k organisatie]] in 2002. Deze organisatie had genoeg van te grote [[webpagina]]'s vol met filmpjes en plaatjes, en daagde iedereen uit om een goede webpagina te maken die kleiner was dan 5 [[kilobyte]].
 
==Events en bubbling==