IntroCréer son site webHTML • [JavaScript] • Perl
Liens  
 JavaScript - Fenêtre facile à fermer 

Dans les fichiers d'aide classiques, un lien souligné en pointillés fait apparaître une petite fenêtre qui disparaît lorsqu'on clique à l'intérieur. Netscape 3 va vous permettre de faire la même chose à ceci près que le lien est toujours souligné d'un trait continu.

La ruse est ici l'utilisation de l'événement onBlur associé à une zone de texte cachée. L'événement onBlur survient lorsque on clique à coté du formulaire. La fenêtre est bien sûr une fenêtre dynamique (générée par un script), rapidité oblige. La taille de cette fenêtre est volontairement réduite de façon à ne montrer que le texte, pas le formulaire :

<SCRIPT language="JavaScript"> <!-- function PetiteFenetre() { msg=open("","DisplayWindow","width=250,height=100,scrollbars=no"); msg.document.write("...Début du code HTML..."+ "<P>Pour fermer cette fenêtre,<BR>cliquez à l\'intérieur.</P>" + "<FORM NAME='Formulaire'><INPUT TYPE=text NAME='ZoneTexte'" + " onBlur='window.close()'></FORM> <SC"+"RIPT>" + "document.Formulaire.ZoneTexte.focus();</SC"+"RIPT>"+ "...fin du code HTML..."); msg.document.close(); } // --> </SCRIPT>

A la fin du script d'affichage de la fenêtre, on donne le focus à la zone de texte bien qu'elle soit invisible (le miracle est là : ça marche !), de sorte que l'événement onBlur puisse survenir dès qu'on clique ailleurs dans cette fenêtre.

Pour exécuter un script généré par un script dans une fenêtre dynamique, il suffit de couper en deux les balises <SCRIPT> et </SCRIPT> ainsi : <SCR"+"IPT> et </SC"+"RIPT> ne seront pas reconnues ni interprétées par le navigateur à l'exécution du premier script.