[Javascript] Comment faire un pop-up en sortie de site ?

Comment faire un pop-up en sortie de site ? [Javascript] - Programmation

Marsh Posté le 19-03-2002 à 22:07:44    

Salut a tous :)
 
G cherché des scripts pour afficher une pop-up quand on pars de mon site :)
Les codes marchent, mais trop bien meme :(
 
Je m'explique, mon site est en PHP, avec un header.php, gauche.php, droite.php, footer.php, et les pages comme index.php, contacts.php
Je fe des includes pour ne pas faire de frames :)
 
G donc mis mon script ds gauche.php, mais le probleme est que a chaque fois k'on change de rubriques, par exemple, pour aller ds concacts.php, la pop-up s'ouvre ; c normal, le code crois k'on a kitté le site, alors k'on a juste chargé une autre page ...
 
En le mettant ds le index.php, ca marche bien, mais j'aimerais ne pas reprendre toutes mes pages une a une pour mettre le code dedans, car y en a environ 200 :(
 
A votre avis, je fe comment pour que la pop-up ne s'ouvre que quand le visiteur kitte le site ?
 
Je vous remercie infiniment ! :) :jap:

Reply

Marsh Posté le 19-03-2002 à 22:07:44   

Reply

Marsh Posté le 20-03-2002 à 10:28:08    

salut,
 
tu prends ta frame du haut qui doit contenir un body, et tu ajoutes onUnload dedans. ca donne :
 
<body onUnload="javascript:window.open('ce_que_tu_veux_ouvrir';);">

Reply

Marsh Posté le 20-03-2002 à 13:55:26    

alien_nan a écrit a écrit :

salut,
 
tu prends ta frame du haut qui doit contenir un body, et tu ajoutes onUnload dedans. ca donne :
 
<body onUnload="javascript:window.open('ce_que_tu_veux_ouvrir';);">  




 
Salut,
 
Le probleme, c que justement, c pas une frame ...
En php, je fe des INCLUDE, du coup, la "frame" d'en haut se recharge a chaque fois, et le code croit que le visiteur est parti, mais c fo, il a juste changé de page :(

Reply

Marsh Posté le 20-03-2002 à 14:09:57    

tu as donc un truc avec <body onuload='mafenetre()'>
 
y'a sûrement moyen avec un peu de javascript : tu intercèptes onclick au niveau du document (<body onclick='mafonction()';), la fonction désactive la popup si on a cliqué sur un lien avec un truc comme :
 
if (event.srcElement.tagName == 'A';) window.onunload = null;

Reply

Marsh Posté le 20-03-2002 à 14:14:48    

Oue, voila, ca serait un truc comme ca ;)
En gros, ca donnerais ca, si g bien compris :

Code :
  1. si c un clic vers un lien du site'
  2. {
  3. pas de popup
  4. }
  5. sinon
  6. {
  7. popup}


 
Mais g jamais fais de javascript :(
Tu pourrais me filer un petit coup de main pleaze  :hello:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 14:24:32    

ce que je vais te filer marchera pour ie, pour mozilla tu te démerderas :)  
 
dans ton cas, il suffit de rajouter n'importe où dans ta page html du code pour :
 
* rajouter la popup en cas de sortie du site
* disable la popup si on charge une nouvelle page du site
 
<script>
  function myPopup()
  {
    // ici tu rajoutes le code de ta popup
  }
  // la popup s'ouvrira lors du 'déchargement' :D de la page
  document.body.onunload = myPopup();
 
  // maintenant, on rajoute une fonction qui teste si on reste sur le site lorsqu'on clique sur un lien :
  function checkLink()
  {
    if (event.srcElement.tagName == 'A';) document.body.onunload = null;
    // ###
  }
  document.body.onclick = checkLink;
</script>
 
 
### : le comportement de la fonction fait que si tu fermes la fenêtre, la popup s'ouvrira, si tu cliques sur un lien de la page, elle ne s'ouvrira pas. tu peux rajouter du code pour tester la valeur du lien : si c'est un lien extérieur (eg google.com), tu peux également ouvrir ta popup à ce moment-là.
 
//
 
ce code n'est que pure spéculation car non testé, mais ça devrait marcher ;)

Reply

Marsh Posté le 20-03-2002 à 14:31:03    

Oki, merci infiniment !!!!
Je v tester le code :)
 
PS : Ds le body de ma page, je mets tjs ca ?
onuload='mafenetre()'
 
Encore merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 14:36:30    

dans le script du haut, tu dois rajouter le code qui ouvre ta popup dans myPopup()
 
sinon,  
 
  <body onuload='myPopup()'>
et
  document.body.onunload = 'myPopup()'
 
sont strictement équivalents. le désavantage du 1er est que tu dois le mettre dans toutes les pages, l'avantage du second est que tu peux le mettre dans n'importe quelle page (n'importe quel include php).

Reply

Marsh Posté le 20-03-2002 à 14:41:11    

Dc g mis ca ds ma page :
 

Code :
  1. <script>
  2.   function myPopup()
  3.   {
  4. window.open("http://www.roswell-travel.com/prochainement.htm", "", "toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, copyhistory=no, width=400, height=100, left=300, top=50" );
  5.   }
  6.   // la popup s'ouvrira lors du 'déchargement' :D de la page
  7.   document.body.onunload = myPopup();
  8.   // maintenant, on rajoute une fonction qui teste si on reste sur le site lorsqu'on clique sur un lien :
  9.   function checkLink()
  10.   {
  11.     if (event.srcElement.tagName == 'A') document.body.onunload = null;
  12.     // ###
  13.   }
  14.   document.body.onclick = checkLink;
  15. </script>


 
Le probleme, c ke la pop-up s'ouvre encore tout le temps :(
En bas a gauche de IE, g un truc erreur de javascript, je regarde, il dit k'il y a une erreur ligne 79 (C'est a dire cette ligne document.body.onunload = myPopup();, car 3)
 
G mal fais un truc ? ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 14:45:34    

essayes avec onUnload . c peut être sensible au majuscule.

Reply

Marsh Posté le 20-03-2002 à 14:45:34   

Reply

Marsh Posté le 20-03-2002 à 14:45:57    

Oki, merchi :)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 14:50:24    

Effectivement, ca ne me fais plus l'erreur javascript, mais la pop-up s'ouvre encore tout le temps :(
Sinon, g remarqué (Avec Dreamweaver) qu'en mettant le U majuscule a onUnload, la couleur de ce texte ds la source devenait bleu, alors k'il etait noir ...
 
G fais la meme chose avec document.body.onclick = checkLink; en mettant un C majuscule a onClick, et le texte devient aussi bleu ...
 
Est-ce k'il y a encore d'autre chose a mettre en Majuscule ?
 
Encore merci a tout ;)  :hello:  :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 14:54:41    

les majuscules, c'est bon pour les éditeurs
 
mais ca marche bien sans


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 20-03-2002 à 15:00:18    

Ha oki, merchi :)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 20-03-2002 à 15:08:07    

le coup du 'A' (ce que je t'ai filé) passe bien chez moi, mais il faudrait prendre en compte :
 
* quand on clique sur une image <a href=''><img></a> (pas bien compliqué)
 
* le refresh
 
* back & forward
 
c'est trop compliqué pour que je regarde maintenant ;)

Reply

Marsh Posté le 20-03-2002 à 15:08:11    

c'est pas plus mal de les mettre
 
d'abord pour le confort sous l'éditeut, et c'est toujours plus propre


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 21-03-2002 à 17:28:09    

Re-Salut a tous :)
 
En fait, g créé une frame, et g mis le code dedans, maintenant, tout roule ! :)
 
Encore merci a vous  :jap:  :hello:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed