Comment faire un pop-up en sortie de site ? [Javascript] - Programmation
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';">
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
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;
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 :
|
Mais g jamais fais de javascript
Tu pourrais me filer un petit coup de main pleaze
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' 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
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
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).
Marsh Posté le 20-03-2002 à 14:41:11
Dc g mis ca ds ma page :
Code :
|
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 ?
Marsh Posté le 20-03-2002 à 14:45:34
essayes avec onUnload . c peut être sensible au majuscule.
Marsh Posté le 20-03-2002 à 14:45:57
ReplyMarsh 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
Marsh Posté le 20-03-2002 à 14:54:41
les majuscules, c'est bon pour les éditeurs
mais ca marche bien sans
Marsh Posté le 20-03-2002 à 15:00:18
ReplyMarsh 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
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
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
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 !