Problème Javascript. c'est tout con mais

WRInaute discret
Bonjour,

J'ai un petit problème javascript... C'est surement tout con mais je trouve pas. Je sors de l'hopital c'est peut-être pour ça ;-)
Dans le code suivant, j'aimerai pouvoir modifier la durée d'une session. Il affiche une publicité en surimpression pendant quelques secondes sur une page. Cette pub apparait une fois par session mais je ne trouve pas où je peux modifier la durée d'une session

Code:
<DIV ID=pub STYLE="position:absolute;top:0;left:0;z-index:10"></DIV>
<SCRIPT LANGUAGE=JavaScript>
/* LAISSER CES LIGNES */
function showsup()
	{
	if(document.getElementById && ScanCookie("supersticiel")==0)
		{
		document.getElementById("pub").style.width = larg;
		document.getElementById("pub").style.height = haut;
		document.getElementById("pub").innerHTML = html_haut+html_mil+html_bas;
		setTimeout("closeSup()",30000);
		CreationCookie("supersticiel",false);
		}
	}

function closeSup()
	{
	if(document.getElementById)
		{
		document.getElementById("pub").style.width = 1;
		document.getElementById("pub").style.height = 1;
		document.getElementById("pub").innerHTML = '';
		}
	}

function ScanCookie(variable)
	{
	cook = document.cookie;
	variable += "=";
	place = cook.indexOf(variable,0);
	if (place <= -1)
		return("0");
	else
		{
		end = cook.indexOf(";",place)
		if (end <= -1)
			return(unescape(cook.substring(place+variable.length,cook.length)));
		else
			return(unescape(cook.substring(place+variable.length,end)));
		}
	}

function CreationCookie(nom,valeur,permanent)
	{
	if(permanent)
		{
		dateExp = new Date(2020,11,11);
		dateExp = dateExp.toGMTString();
		ifpermanent = '; expires=' + dateExp + ';';
		}
	else
		ifpermanent = '';
	document.cookie = nom + '=' + escape(valeur) + ifpermanent;
	}


if(document.all)
	{
	larg = document.body.clientWidth;
	haut = document.body.clientHeight;
	}
else
	{
	larg = screen.width;
	haut = screen.height;
	}
	
html_haut = "<TABLE WIDTH="+larg+" HEIGHT="+haut+"><TR><TD VALIGN=middle ALIGN=center BACKGROUND=img/grille.gif>";
html_bas = "</TD></TR></TABLE>";

/* 
A VOUS DE MODIFER CES LIGNES 
N'OUBLIEZ UN LIEN DE CE TYPE :
<A HREF=# onClick="closeSup();return(false)">texte ou image</A>
POUR POUVOIR REFERMER LA FENETRE SI LE VISITEUR N'EST PAS INTERESSE
*/
html_mil = "<MAP NAME=kitgrafik>  <AREA SHAPE=rect COORDS=509,5,597,26 HREF=# onClick=\"closeSup();return(false)\">  <AREA SHAPE=rect COORDS=\"20,9,252,40\" HREF=http://www.kitgrafik.com TARGET=_blank>  <AREA SHAPE=rect COORDS=\"12,58,591,459\" HREF=http://www.kitgrafik.com TARGET=_blank></MAP><TABLE WIDTH=600 CELLPADDING=0 CELLSPACING=0 BORDER=0>";
html_mil += "	<TR>";
html_mil += "<TD><IMG SRC=img/kitgrafik.png BORDER=0 WIDTH=600 HEIGHT=463 HSPACE=0 VSPACE=0 USEMAP=#kitgrafik></TD>";
html_mil += "</TR>";
html_mil += "</TABLE>";
window.onload = showsup;
</SCRIPT>


Un tout grand merci d'avance pour votre aide.

Laurent
 
WRInaute occasionnel
setTimeout("closeSup()",30000);

ligne 11 de ce que tu as collé
ca semble être en millisecondes ;)
 
WRInaute discret
Code:
setTimeout("closeSup()",30000);

Bah non... c'est ça le problème... cette fonction là attribue le temps où la publicité reste afficher... ici 30 secondes, mais je mettrai 5 secondes sur mon site...
 
WRInaute impliqué
mouais l'affichage de la pub est en effet appele 30 secondes apres le chargement de la page, mais ca ne repond pas a la question..

il y a pas vraiment de session, mais un cookie qui est posé, il s'agit d'un cookie de session, c a dire qu'il expire a la fermeture du navigateur..
 
WRInaute discret
et est-ce que c'est une bonne idée si je fais un affichage toutes les deux heures ?
Mais comme je n'y connais rien en javascript, je le ferai plutot en PHP et si le délai de 2 heures est expiré, j'inclue la fonction dans la page, si le délai n'est pas expiré je ne l'inclue pas...
 
Discussions similaires
Haut