Forum-webmaster
Technique - programmation => Javascript / DOM / Ajax => Message commencé par: internet-multimedi le le 13-08-2003 a 13:23:55

Titre: Popup en Javascript
Posté par: internet-multimedi le le 13-08-2003 a 13:23:55

Salut à vous !

Connaissez-vous un script qui affiche une popup en javascript sur la page, et non dans une nouvelle fenêtre ?

Merci !

Nico BOURG

Titre: Re:Popup en Javascript
Posté par: onkr le le 13-08-2003 a 18:24:39

salut,
je pense que tu parles d'une ifame ? non ?

++

Onkr.

Titre: Re:Popup en Javascript
Posté par: internet-multimedi le le 13-08-2003 a 23:16:53

En fait j'ai trouvé le script qu'il me fallait. Quelles lignes de code faut-il rajouter pour que le script ne s'exécute qu'une seule fois par session ?

Voici le script :

- Dans la page web :

<HTML>

<HEAD>
<script language="javascript" src="script_popup.js"></SCRIPT>
</HEAD>

<BODY>
<script language="javascript">
createPopup( 'b1055638564107', 'Bienvenue !' , 150, 75, 150, 200, true, '#FFFFFF' , '#006699' , 'black' , 'Salut !' , '#FFFFFF' , 8 , 'Verdana','#FFFFFF');
</script>
</BODY>

</HTML>


- Dans un fichier nommé script_popup.js :

var IE5=(document.getElementById && document.all)? true : false;
var W3C=(document.getElementById)? true: false;
var currIDb=null, currIDs=null, xoff=0, yoff=0; zctr=0; totz=0;
function trackmouse(evt){
if((currIDb!=null) && (currIDs!=null)){
var x=(IE5)? event.clientX+document.body.scrollLeft : evt.pageX;
var y=(IE5)? event.clientY+document.body.scrollTop : evt.pageY;
currIDb.style.left=x+xoff+'px';
currIDs.style.left=x+xoff+10+'px';
currIDb.style.top=y+yoff+'px';
currIDs.style.top=y+yoff+10+'px';
return false;
]
function stopdrag(){
currIDb=null;
currIDs=null;
NS6bugfix();
}
function grab_id(evt){
xoff=parseInt(this.IDb.style.left)-((IE5)? event.clientX+document.body.scrollLeft : evt.pageX);
yoff=parseInt(this.IDb.style.top)-((IE5)? event.clientY+document.body.scrollTop : evt.pageY);
currIDb=this.IDb;
currIDs=this.IDs;
}
function NS6bugfix(){
if(!IE5){
self.resizeBy(0,1);
self.resizeBy(0,-1);
]
function incrzindex(){
zctr=zctr+2;
this.subb.style.zIndex=zctr;
this.subs.style.zIndex=zctr-1;
}
function createPopup(id, title, width, height, x , y , isdraggable, boxcolor, barcolor, shadowcolor, text, textcolor, textptsize, textfamily, titlecolor ){
if(W3C){
zctr+=2;
totz=zctr;
var txt='';
txt+='<div id="'+id+'_s" style="position:absolute; left:'+(x+10)+'px; top:'+(y+10)+'px; width:'+width+'px; height:'+height+'px; background-color:'+shadowcolor+'; filter:alpha(opacity=50); visibility:visible"> </div>';
txt+='<div id="'+id+'_b" style="border:outset '+barcolor+' 2px; position:absolute; left:'+x+'px; top:'+y+'px; width:'+width+'px; overflow:hidden; height:'+height+'px; background-color:'+boxcolor+'; visibility:visible">';
txt+='<div style="width:'+width+'px; height:16px; background-color:'+barcolor+'; padding:0px; border:1px"><table cellpadding="0" cellspacing="0" border="0" width="'+(IE5? width-4 : width)+'"><tr><td width="'+(width-20)+'"><div id="'+id+'_h" style="width:'+(width-20)+'px; height:14px; font: bold 12px Arial; color:'+titlecolor+'"> '+title+'</div></td><td align="right"><a onmousedown="document.getElementById(\''+id+'_s\').style.display=\'none\'; document.getElementById(\''+id+'_b\').style.display=\'none\';return false"><img src="closeb.gif" border="0" height="15" width="15"></a></td></tr></table></div>';
txt+='<div id="'+id+'_ov" width:'+width+'px; style="margin:2px; color:'+textcolor+'; font:'+textptsize+'pt '+textfamily+';">'+text+'</div></div>';
document.write(txt);
this.IDh=document.getElementById(id+'_h');
this.IDh.IDb=document.getElementById(id+'_b');
this.IDh.IDs=document.getElementById(id+'_s');
this.IDh.IDb.subs=this.IDh.IDs;
this.IDh.IDb.subb=this.IDh.IDb;
this.IDh.IDb.IDov=document.getElementById(id+'_ov');
if(IE5){
this.IDh.IDb.IDov.style.width=width-6;
this.IDh.IDb.IDov.style.height=height-22;
this.IDh.IDb.IDov.style.scrollbarBaseColor=boxcolor;
this.IDh.IDb.IDov.style.overflow="auto";
}else{
this.IDh.IDs.style.MozOpacity=.5;
}
this.IDh.IDb.onmousedown=incrzindex;
if(isdraggable){
this.IDh.onmousedown=grab_id;
this.IDh.onmouseup=stopdrag;
]}
if(W3C)document.onmousemove=trackmouse;
if(!IE5 && W3C)window.onload=NS6bugfix;

Titre: Re:Popup en Javascript
Posté par: erwinol le le 24-08-2003 a 15:05:12

Citation:
Quelles lignes de code faut-il rajouter pour que le script ne s'exécute qu'une seule fois par session ?


Ben tu utilises bêtement un cookie qui est actif durant la session.
Si le cookie n'est pas présent tu affiches le popup et tu envois le cookie qui expire à la fin de la session tout simplement. Et si il est présent alors pas de popup.

Enfin ça me semble évident ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.