HTML-scripting: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Taka (overleg | bijdragen)
even opslaan
 
Taka (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 1:
Met '''HTML scripting''' (of soms '''client-side scripting''') worden scripts (meestal [[javascript]]) aangeduid die in de [[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==
Regel 18:
 
==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'''. Met een script kunnen de ingevulde gegevens in een 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. 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 adres 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 nieuwe ''window'' 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.
 
==Events en bubbling==
De interactiviteit die door HTML scripts wordt geboden, is gebaseerd op het opvangen van gebeurtenissen (naar het Engels meestal ''events'' genoemd). Er zijn twee veroorzakers van ''events'': de gebruiker en de browser. De ''events'' van de gebruiker worden veroorzaakt door ''input'' via muis en toetsenbord. De ''events'' van de browser zijn gerelateerd aan het ophalen van nieuwe documenten (bijvoorbeeld "het document is nu geladen" of "het document wordt nu afgesloten"). Zie ook [[Lijst van HTML-events]].
 
De afzonderlijke elementen van een document kunnen gevoelig gemaakt worden voor de verschillende ''events''. Op het moment dat zo'n ''event'' dan plaatsvindt, reageert het element door een taak uit te voeren die met de scripttaal is aangegeven.
 
Het begrip ''bubbling'' komt van pas in situaties waar een element van het document gelegen is in een ander element. Als de gebruiker klikt op een plaatje dat in een tabel staat, is dat dan een klik op het plaatje of een klik op de tabel? Het is in eerste instantie een klik op het plaatje, maar de klik wordt doorgeveven aan alle bovengelegen (''parent'') elementen. Dat proces van doorgeven heet ''bubbling''. In het geval dat deze ''bubbling'' ongewenst is, kan het met code worden gestopt.
 
==Sandbox security model==
''(zie ook [[sandox 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 bijvoorbeeld niets op de [[harde schijf]] van de gebruiker lezen of aanpassen. Dit is belangrijk, omdat de gebruikte talen wel volledige [[programmeertaal|programmeertalen]] zijn. Als zelfstandig programma hebben ze voldoende mogelijkheden om bestanden te lezen en aante passen. Een dergelijke bescherming wordt een ''sandbox'' (zandbak) genoemd: de scripts krijgen een terrein toegewezen waar ze geen kwaad kunnen. Ook [[plugin]]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==
* [[HyperText Markup Language]]
* [[Javascript]]
* [[Dynamic HTML]]