Une "pop-up" défilante

Les fenêtres à dimensions variables nommées "pop-up" sont de moins en moins appréciées et pour cause : elles véhiculent généralement des messages publicitaires indésirables. Il peut toutefois, parfois (quoiqu'il existe des solutions moins agressives ...), être nécessaire d'attirer, malgré tout, l'attention sur une information qui se veut importante. La "pop-up" ordinaire, celle qui apparaît au chargement de la page ou de manière aléatoire, se fixant à un endroit précis de l'écran, déclenche le plus souvent le réflexe de la "tapette à mouche". Ce réflexe consiste à faire foncer le curseur de la souris vers la petite croix qui va faire disparaître l'indésirable lors d'un clic rageur du visiteur ... L'effet escompté sera dès lors raté : ledit visiteur n'aura pas eu le temps ni la curiosité de lire le contenu de cette fenêtre.

Par contre, celle que vous venez de voir défiler pour aller se coller dans le coin supérieur droit de votre écran ne passera certainement pas inaperçu. Forcément : le visiteur est obligé de la suivre des yeux pour mieux viser avec sa "tapette". Entretemps, il aura probablement vu le message que vous voulez lui infliger ...

Il est probable que je ne me ferai pas que des amis sur ce coup ... Mais comme ce qui est devenu un gadget est susceptible de vous faire plaisir et que, par ailleurs, j'ai déjà commis l'irréparable dès 1998 en proposant ces fenêtres (à cette époque, elles étaient fixes et leur intérêt n'avait pas encore, ou si peu, été détourné par les matraqueurs de publicité) dans un exposé que vous trouverez dans la même rubrique, autant faire une nouvelle petite avancée ... Je vous en livre donc le script :

<script type="text/javascript" language="JavaScript">

width = 200;

height = 100;

winleft= Math.round((screen.width-width)/2);

popup = window.open('message.htm','message','toolbar=0,location=0,directories=0,status=0,
              scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=' + width + ',height=' + height);

winpos = (-290);

function popfil()

{ while(winpos< winleft)

{ popup.moveBy(3,0);

winpos += 3; } }

window.onload=popfil;

</script>

Je ne vais pas m'étendre bien longtemps sur cette petite "agression" car j'entends d'ici les protestations véhémentes de la ligue des "anti-pop" ... Sachez toutefois que :

Pour adoucir leur éventuelle mauvaise humeur, j'ai installé deux petits scripts dans la pop-up : avec le premier, s'ils obéissent à l'invite, elle disparaîtra automatiquement. Rien ne vous empêche de faire de même ; pour cela, installez-y ce tout petit script (entre les balises head : c'est mieux) :

<script type="text/javascript" language="JavaScript">

function Fermer()

{opener=self;

self.close();}

</script>

... et ajoutez-y la commande suivante à l'intérieur d'une balise d'image (par exemple) dans le body :

onmouseover="Fermer()"


Le second est une simple temporisation qui provoquera la disparition automatique de la fenêtre si le visiteur est resté de marbre (ils sont rares mais ils existent !). Il s'ajoute à l'ouverture du corps de la page (de la pop-up, évidemment !) de la manière suivante :

<body OnLoad="setTimeout('window.close()', 13000);">

Dans ce cas, la fenêtre disparaîtra automatiquement après 13 secondes (13000 millisecondes) s'il n'y a pas d'intervention.

Ah, oui, avant que je ne file : écrivez éventuellement le script principal dans une feuille externe (avec l'extension .js), sans omettre d'installer un lien d'appel en tête de votre page. Vous pourrez ainsi, si nécessaire, l'utiliser sur d'autres pages sans devoir le recopier entièrement !



Une dernière chose : je vous fais plaisir alors ... ne me dénoncez pas, hein !

;c)

retour