Pop up de sortie

Fermé
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 17 avril 2007 à 20:36
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 25 avril 2007 à 00:54
Bonsoir a tous,

Bon y'en a plein qui vont me dire "c'est moche, c'est énervant, ça ne marche pas sur tous les navigateurs si JS est désactivé ou si il y a un anti popup".

J'enticipe la réponse : je sais, mais j'en ai besoin, et je me fiche que certains ne puissent pas le voir

Ma question :
je souhaiterais un pop up à la sortie de mon site (à la fermeture de l'onglet ou de la fenetre), qui affiche un message du style "merci de votre visite, acceptez vous de répondre à un questionnaire ?", et deux boutons : oui / non

si oui : ouverture d'une page avec le questionnaire
si non : fermeture du pop up et du site

J'ai cherché sue le net, mais je vois pas bien comment m'en sortir. Quelqu'un aurait il un lien à me fournir ? soit directement sur le bon, soit des pistes de recherche...
Je suppose simplement que c'est javascript qui me permettra de m'en sortir. S'il y a d'autres solutions que JS, je suis aussi preneur.

Merci ;)
A voir également:

13 réponses

RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
19 avril 2007 à 23:29
voila un code de fausse pop

<html>
<head>
<title> Exemple ::</title>
<STYLE TYPE="text/css">BODY {scrollbar-face-color: #0069B3; scrollbar-shadow-color: #000000;scrollbar-highlight-color: #FFFFFF;scrollbar-3dlight-color: #000000; scrollbar-darkshadow-color: #000000; scrollbar-track-color: #0069B3; scrollbar-arrow-color: #FFCC00;}</STYLE>
<SCRIPT LANGUAGE="JavaScript">
window.defaultStatus="Fausse Popup DHTML II";
</SCRIPT>
<script language="JavaScript" src="popup.js">
</script>
</head>
<body bgcolor="#0069B3">
<script>
window.onload=function(){

//new popUp(X Position, Y Position, largeur, hauteur, "id_de_la_popup", "Texte du popup", "couleur arrière-plan popup", "couleur texte", "Font style", "titre", "couleur arrière-plan du titre", "couleur titre", "couleur bordure", "couleur barre de scroll", "couleur ombre", Montrer au chargement de la page ?, Possibilité de bouger la popup ?, Possibilité de la redimensionner ?, Suivant le navigateur le popup s'affiche en tant que fenetre normale ?, Popup apparait une seule fois par session ?);
//Configurer la fonction new popUp() suivant celle d'au-dessus
//Exemple:

new popUp(200, 100, 300, 175, "box", "Vous pourrez mettre ici tout le texte que vous voudrez !!!", "white", "black", "bold 10pt verdana", "Fausse popup DHTML II", "navy", "white", "#dddddd", "gray", "black", true, true, true, true, false);

}
</script>
</body>
</html>




JS:
//
// Browser compatibility:
// IE4+, NS4+, NS6+ (with limited functionality in pre 5.0 browsers)

var w3c=(document.getElementById)? true: false;
var ie5=(w3c && document.all)? true : false;
var ns6=(w3c && (navigator.appName=="Netscape"))? true: false;
currIDb=null; xoff=0; yoff=0;
currRS=null; rsxoff=0; rsyoff=0;
oldac=null; newac=null; zdx=1; mx=0; my=0;

var idlist=new Array();
idlist.btns=new Array();
idlist.btns[0]=new Image(); idlist.btns[0].src="min.gif";
idlist.btns[1]=new Image(); idlist.btns[1].src="max.gif";
idlist.btns[2]=new Image(); idlist.btns[2].src="close.gif";
idlist.btns[3]=new Image(); idlist.btns[3].src="resize.gif";

function hidebox(id){
if(w3c){
document.getElementById(id+'_b').style.display='none';
document.getElementById(id+'_s').style.display='none';
}}

function showbox(id){
if(w3c){
var bx=document.getElementById(id+'_b').style;
var sh=document.getElementById(id+'_s').style;
bx.display='block';
sh.display='block';
sh.zIndex=++zdx;
bx.zIndex=++zdx;
}}

function minimize(){
if(w3c){
this.IDS[0].style.height=(ie5)? '28px':'24px';
this.IDS[3].style.height='28px';
this.IDS[2].style.display='none';
this.IDS[4].style.display='none';
setTimeout('ns6bugfix()',100);
}}

function restore(){
if(w3c){
var h=this.IDS[10];
this.IDS[0].style.height=h+'px'; //box
this.IDS[3].style.height=(ie5)? h+'px':h+5+'px'; //shd
this.IDS[2].style.display='block';
this.IDS[4].style.display='block'; 
setTimeout('ns6bugfix()',100);
}}

function ns6bugfix(){
self.resizeBy(0,1);
self.resizeBy(0,-1);
}

function trackmouse(evt){
mx=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
my=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
if(!ns6)movepopup();
if((currIDb!=null)||(currRS!=null))return false;
}

function movepopup(){
if((currIDb!=null)&&w3c){
var x=mx+xoff;
var y=my+yoff;
currIDb.style.left=x+'px';
currIDs.style.left=x+8+'px';
currIDb.style.top=y+'px';
currIDs.style.top=y+8+'px';
}
if((currRS!=null)&&w3c){
var rx=mx+rsxoff;
var ry=my+rsyoff;
var c=currRS;
c.style.left=Math.max(rx,((ie5)?88:92))+'px';
c.style.top=Math.max(ry,((ie5)?68:72))+'px';
c.IDS[0].style.width=Math.max(rx+((ie5)?12:8),100)+'px';
c.IDS[0].style.height=Math.max(ry+((ie5)?12:8),80)+'px';
c.IDS[1].style.width=Math.max(rx+((ie5)?4:3),((ns6)?95:92))+'px';
c.IDS[5].style.left=parseInt(c.IDS[1].style.width)-48+'px';
c.IDS[3].style.width=Math.max(rx+12,((ie5)?100:104))+'px';
c.IDS[3].style.height=Math.max(ry+((ie5)?12:13),((ie5)?80:86))+'px';
c.IDS[2].style.width=Math.max(rx-((ie5)?-5:5),((ie5)?92:87))+'px';
c.IDS[2].style.height=Math.max(ry-((ie5)?24:28),44)+'px';
c.IDS[10]=parseInt(c.IDS[0].style.height);
}}

function startRS(evt){
var ex=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
var ey=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
rsxoff=parseInt(this.style.left)-ex;
rsyoff=parseInt(this.style.top)-ey;
currRS=this;
if(ns6)this.IDS[2].style.overflow='hidden';
return false;
}

function stopdrag(){
currIDb=null;
ns6bugfix();
}

function grab_id(evt){
var ex=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
var ey=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
xoff=parseInt(this.IDS[0].style.left)-ex;
yoff=parseInt(this.IDS[0].style.top)-ey;
currIDb=this.IDS[0];
currIDs=this.IDS[3];
return false;
}

function subBox(x,y,w,h,bgc,id){
var v=document.createElement('div');
v.setAttribute('id',id); 
v.style.position='absolute';
v.style.left=x+'px';
v.style.top=y+'px';
v.style.width=w+'px';
v.style.height=h+'px';
v.style.backgroundColor=bgc;
v.style.visibility='visible';
v.style.padding='0px 0px 0px 0px';
return v;
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}


function popUp(x,y,w,h,cid,text,bgcolor,textcolor,fontstyleset,title,titlecolor,titletextcolor,bordercolor,scrollcolor,shadowcolor,showonstart,isdrag,isresize,oldOK,POPPERSESSION){
var proceedtopop=false
if (POPPERSESSION){
if (get_cookie(cid)==""){
proceedtopop=true
document.cookie=cid+"=yes"
}
}
else
proceedtopop=true

if (proceedtopop){
if(w3c){
var tw, th;
w=Math.max(w,100);
h=Math.max(h,80);
var rdiv=new subBox(w-((ie5)?12:8),h-((ie5)?12:8),7,7,'',cid+'_rs');
if(isresize){
rdiv.innerHTML='<img src="resize.gif" width="7" height="7">';
rdiv.style.cursor='move';
}
tw=(ie5)?w:w+4;
th=(ie5)?h:h+6;
var shadow=new subBox(x+8,y+8,tw,th,shadowcolor,cid+'_s');
if(ie5)shadow.style.filter="alpha(opacity=50)";
else shadow.style.MozOpacity=.5;
shadow.style.zIndex=++zdx;
var tw,th;
var outerdiv=new subBox(x,y,w,h,bordercolor,cid+'_b');
outerdiv.style.borderStyle="outset";
outerdiv.style.borderWidth="2px";
outerdiv.style.borderColor=bordercolor;
outerdiv.style.zIndex=++zdx;
tw=(ie5)?w-8:w-5;
th=(ie5)?h+4:h-4;
var titlebar=new subBox(2,2,tw,20,titlecolor,cid+'_t');
titlebar.style.overflow="hidden";
titlebar.style.cursor="default";
titlebar.innerHTML='<span style="position:absolute; left:3px; top:1px; font:bold 10pt sans-serif; color:'+titletextcolor+'; height:18px; overflow:hidden; clip-height:16px;">'+title+'</span><span id="'+cid+'_btt" style="position:absolute; width:48px; height:16px; left:'+(tw-48)+'px; top:2px;"><img src="min.gif" width="16" height="16" id="'+cid+'_min"><img src="max.gif" width="16" height="16"  id="'+cid+'_max"><img src="close.gif" width="16" height="16" id="'+cid+'_cls"></span>';
tw=(ie5)?w-7:w-13;
th=(ie5)?h-36:h-36;
var content=new subBox(2,24,tw,th,bgcolor,cid+'_c');
content.style.borderColor=bordercolor;
content.style.borderStyle="inset";
content.style.borderWidth="2px";
content.style.overflow="auto";
content.style.padding="0px 2px 0px 4px";
content.style.font=fontstyleset;
content.style.color=textcolor;
if(ie5)content.style.scrollbarBaseColor=scrollcolor;
content.innerHTML=text;
outerdiv.appendChild(titlebar);
outerdiv.appendChild(content);
outerdiv.appendChild(rdiv);
document.body.appendChild(shadow);
document.body.appendChild(outerdiv);
if(!showonstart)hidebox(cid);
var IDS=new Array();
IDS[0]=document.getElementById(cid+'_b');
IDS[1]=document.getElementById(cid+'_t');
IDS[2]=document.getElementById(cid+'_c');
IDS[3]=document.getElementById(cid+'_s');
IDS[4]=document.getElementById(cid+'_rs');
IDS[5]=document.getElementById(cid+'_btt');
IDS[6]=document.getElementById(cid+'_min');
IDS[7]=document.getElementById(cid+'_max');
IDS[8]=document.getElementById(cid+'_cls');
IDS[9]=cid;
IDS[10]=h;
this.IDb=IDS[0]; this.IDb.IDS=IDS;
this.IDt=IDS[1]; this.IDt.IDS=IDS;
this.IDc=IDS[2]; this.IDc.IDS=IDS;
this.IDs=IDS[3]; this.IDs.IDS=IDS;
this.IDrs=IDS[4]; this.IDrs.IDS=IDS;
this.IDbtt=IDS[5]; this.IDbtt.IDS=IDS;
this.IDmin=IDS[6]; this.IDmin.IDS=IDS;
this.IDmax=IDS[7]; this.IDmax.IDS=IDS;
this.IDcls=IDS[8]; this.IDcls.IDS=IDS;
this.IDb.activecolor=titlecolor;
this.IDb.inactivecolor=scrollcolor;
if(oldac!=null)oldac.IDS[1].style.backgroundColor=oldac.inactivecolor;
oldac=this.IDb;
this.IDcls.onclick=new Function("hidebox('"+cid+"');");
if(isresize){
this.IDmin.onclick=minimize;
this.IDmax.onclick=restore;
this.IDrs.onmousedown=startRS;
this.IDrs.onmouseup=new Function("currRS=null");
}
this.IDb.onmousedown=function(){
   if(oldac!=null){
   oldac.IDS[1].style.backgroundColor=oldac.inactivecolor;
   }
   if(ns6)this.IDS[2].style.overflow='auto';
   oldac=this;
   this.IDS[1].style.backgroundColor=this.activecolor;
   this.IDS[3].style.zIndex=++zdx;
   this.style.zIndex=++zdx;
   }
if(isdrag){
this.IDt.onmousedown=grab_id;
this.IDt.onmouseup=stopdrag;
}
}else{
if(oldOK){
var ctr=new Date();
ctr=ctr.getTime();
var win=window.open("" , "abc"+ctr , "status=no,menubar=no,width="+w+",height="+h+",resizable=yes,scrollbars=yes");
var t='<html><head><title>'+title+'</title></head><body bgcolor="'+bgcolor+'"><font style="font:'+fontstyleset+'; color:'+textcolor+'">'+text+'</font></body></html>';
win.document.write(t);
win.document.close();
}}}}

if(ns6)setInterval('movepopup()',40);

if(w3c){
document.onmousemove=trackmouse;
document.onmouseup=new Function("currRS=null");
}
 

a voir pour l adaptation de boutton sur la fausse pop ??

RAD
1
RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
25 avril 2007 à 00:23
SALUT

je vient de repenser a un script !!!



<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>Question lorsque l'utilisateur quitte la page</title>
</head>

<body bgcolor="#666666" text="#FFFFFF" link="#000000"
vlink="#999999" alink="#FFCC33" onunload="guest()">
<script language="JavaScript"><!--
//debut

function retour()

    {

      history.go(-1);

    }

var url="http://radservebeer.free.fr";  // CHANGER ICI L'ADRESSE

 function guest(){


if (!confirm ("Avant de partir, voulez vous m'ecire ?")){alert("Ben, dommage alors !");}



else{alert("Merci !");window.open(url)}

} 

</script>
</body>
</html>


RAD
1
longisland Messages postés 17 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 26 avril 2007
17 avril 2007 à 21:52
bonsoir,
peut etre une piste...

http://www.u-picardie.fr/~ferment/javascript/cours_exos/chap17_d.html

a+ ;)
0
Pour apprendre la fonctionnement des popup
https://openclassrooms.com/fr/courses

Et je crois que tu peux placer dans body l'événement "unload" dans la balise body pour créer un événement quand on quitte ton site (plus trop sur)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
17 avril 2007 à 23:35
Bon.. je m'en suis sorti, ca fonctionne si pas d'antipopup, mais je suis dégouté :s

Vous pouvez tester ici : http://marmottemanu.free.fr/share/pop/index.php

Si ca fonctionne chez vous et que vous testez, merci de me donner votre config navigateur ;-)

Le probleme, j'esperais que ce n'en serais pas un, c'est que sous IE7, il y a un antipopup intégré, qui ne previens meme pas au blocage des popup, ce qui n'étais pas le cas de IE6.

Du coup, j'esperais au moins toucher les utilisateurs de IE, mais au final, meme pas... seul les derniers sous IE 6 seront touchés je pense. c'est moche.

Au final, cette solution est foireuse!

Est il possible de le réaliser autrement que par pop up ? en php ?

Ou sinon, comment inviteriez vous a répondre au questionnaire (de satisfaction)... j'aimerais en effet savoir pourquoi certaines personnes qui arrivent depuis google sur mon site (la majorité des visites) ressortent en ayant visité très peu de pages. il faut donc que je puisse les "interpeler" rapidement et de facon efficace... pour essayer d'améliorer (contenu, présentation - ca c'est en cours- , recherche foireuse, trop difficile a naviguer, etC...)

j'espere avoir été clair.

Merci!
0
Jacobéo Messages postés 304 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 28 août 2008 79
18 avril 2007 à 06:42
Bonjour Grizzly,

........ blabla bla. maintenant j'en ai marre, je sors ...
sous IE7. Plage blanche avec ce texte, mais pas de lien.
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
18 avril 2007 à 18:36
normal qu'il y ai pas de lien... c'est un pop up de sortie que j'ai fait ;-). donc quand ut fermes la fenetre ou l'onglet, y'a le pop up, si tu as pas d'antipopup bien sur et que js est activé

personne d'autre pour pouvoir faire ce questionnaire de sortie autrement que js qui a pas l'air efficace ?
0
Utilisateur anonyme
18 avril 2007 à 18:40
Rien sous Firefox...
0
je sais pas si ça peut t'aider mais ya la fonction "confirm()" qui ouvre une boite de dialogue et si l'utilisateur clique sur ok la fonction renvoie true et si il clique sur annuler la fonction renvoie false! je sais pas si cela peut t''aider...
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
18 avril 2007 à 22:09
non, ca ne m'aide pas du tout. je crois qu'il faudrait trouver autre chose que le popup... y'a vraiment pas moyen ? personne n'aurait une idée ?
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
19 avril 2007 à 17:46
vraiment personne alors... snif!
0
RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
19 avril 2007 à 23:18
SALUT



mais je croyais que tu n aimais pas les pop :-))

RAD
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
19 avril 2007 à 23:23
Effectivement... vu le nombre de navigateurs qui bloquent les pop désormais, c'est inutile... il faut que je trouve un autre moyen de "stopper" mes visiteurs pour un questionnaire

Mais meric quand meme! une idée sans pop up peut etre RAD ?
0
RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
19 avril 2007 à 23:25
peut etre une fausse pop en dhtml ? faut voir !!
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
19 avril 2007 à 23:35
a premiere vue... je dirais... très intéressant, je vais me penchre sur la question!

merci de l'info!
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 335
25 avril 2007 à 00:54
Merci... je regardearis tout ca plus tard... j'ai des contraintes "scolaires/professionnelles" qui m'empechent actuellement de passer du temps dessus.
0