HTML-scripting: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
k plaats vindt -> plaatsvindt
NielsH97 (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 1:
Met '''HTML-scripting''' (of soms '''client-side-scripting''') worden [[scripttaal|scripts]] (meestal [[JavaScript]]) aangeduid die in de [[HyperText Markup Language|HTML]]-code van een document staan. De scripts zorgen ervoor 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.
Regel 13:
Scripts kunnen overal in een HTML-document worden geplaatst. Er is een speciale HTML-''tag'' die aangeeft dat het om een script gaat. In die ''tag'' kan worden aangegeven welke scripttaal wordt gebruikt, als er niets wordt aangegeven, wordt ervan uitgegaan dat het om JavaScript gaat.
 
De scripts in HTML-documenten communiceren met de browser (dus niet direct met het document). De meeste browsers hebben de optie om ondersteuning voor JavaScript uit te zetten. Omdat [[webpagina]]'s soms scripts bevatten die de browser vragen om [[Pop-up (internet)|pop-ups]] te openen (meestal met reclame), kiest een deel van de gebruikers er voor om ondersteuning voor scripts uit te zetten.
 
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 hebben 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 plaatsvindt, 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-mail|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.
Regel 25:
* '''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[[Driedimensionaal|driedimensionale]] [[first -person shooter]] geschreven in JavaScript met een code van slechts 5119 [[byte]]s (dat is vergelijkbaar met een middellang Wikipedia-artikel). 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==
Regel 35:
 
==Sandbox security model==
HTML-scripts staan in documenten die meestal van het internet worden binnengehaald. Om de gebruiker te beschermen tegen ongewenste code, hebben zulke scripts slechts beperkte rechten. Ze mogen scripts bijvoorbeeld niets op de [[harde schijf]] van de gebruiker lezen of aanpassen, zijn netwerkvoorzieningen alleen indirect beschikbaar en geldt wat de browser en web-paginawebpagina's zelf betreft het "same origin" beginsel. Dit is belangrijk, omdat de gebruikte talen wel volledige [[programmeertaal|programmeertalen]] zijn. Als zelfstandig programma hebben ze voldoende mogelijkheden om bestanden te lezen en aan te passen. Een dergelijke bescherming wordt een ''sandbox'' (zandbak) genoemd: de scripts krijgen een terrein toegewezen waar ze geen kwaad kunnen. Ook [[pluginPlug-in|plug-ins]]s die bij browsers kunnen worden geïnstalleerd draaien in zo'n ''sandbox''. De meeste veiligheidsproblemen van browsers hebben te maken met lekken in deze ''sandbox''.
 
==Zie ook==
Regel 41:
 
==Externe links==
* [http://www.wolf5k.com/ Wolfenstein 5k], een 3d 3D-first-person shooter geschreven in HTML-script.
 
{{Navigatie webdesign}}