Chaque balise HTML est en fait un objet et, à ce titre, elle a des propriétés (properties) et reçoit des évènements (events)... Le Dynamic HTML tourne autour de l'interception astucieuse de ces events pour déterminer un contexte puis, en fonction de celui-ci, modifier les properties ou déclencher une action, via scripts...
Avertissement : Netscape Navigator supporte TRES mal ce genre de choses... et ça n'a pas l'air de vouloir s'arranger avec la version 6... Alors tout ce qui est sur cette page est pour le fun mais "à consommer avec modération" !
Les différents évènements et propriétés sont très bien décrits dans la doc HMTLib (en anglais) téléchargeable sur www.arachne.net/htmlib. Quelques exemples classiques suivent...
<BODY>
Cette balise peut recevoir plusieurs évènements dont onLoad (quand la page est chargée), onUnload (quand on quitte la page), onBlur quand la page va passer en arrière-plan, onFocus quand elle revient au 1er plan... alors on peut, par exemple :
Empêcher qu'un popup ne passe en arrière-plan : Tester ?
<BODY onBlur=this.focus()>
Chaque fois que l'on clique sur la fenêtre en arrière-plan, le popup est réactivé (focus())
Dire bonjour en arrivant et au-revoir en partant :)) : Tester ?
Au fait tout le monde a compris comment ouvrir un popUp centré ?
Tester le script
environnement.html
<script language="JavaScript"><!--
function centrePop(url,largeur,hauteur) { // centre le PopUp sur l'écran var gauche = (screen.width - largeur)/2 var haut = (screen.height - hauteur)/2 return window.open(url,"","width="+largeur+",height="+hauteur+",left="+gauche+",top="+haut) }
function infos() { var adr = centrePop("",350,230) adr.document.write("<title>Infos</title><center><b>Vos paramètres par JavaScript</b></center><br>") adr.document.write("Résolution : "+screen.width+"x"+screen.height+"<br>") adr.document.write("Couleurs : "+screen.colorDepth+" bits<br>") adr.document.write("Navigateur : "+navigator.appName+"<br>") adr.document.write("Version : "+navigator.appVersion+"<br>") adr.document.write("Référent : "+document.referrer+"<br>") adr.document.write("<center><br><A href='javascript:window.close()'>Fermer le PopUp</A>") }
--></script>
<A href="javascript:infos()">Tester le script</A>
C'est donc bien dynamique : les affichages seront différents selon les utilisateurs !!!