Simplification de code (cookie et url)
Bonjour,
J'ai récupéré un script pour l'affichage d'une fenetre volante. Il fonctionne un peu trop bien car la fenetre s'affiche a chaque fois qu'on arrive sur une nouvelle url (et la possibilite d'arrêter l'affichage mais uniquement pour cette page (url)) . J'aimerais le transformer pour l'affichage une seule fois (a partir du mon ou l'internaute à dit stop). ca parait simple à faire (mettre toujours la meme variable dans le cookie plutot que l'url) mais je n'y arrive pas. Un petit coup de main serait le bienvenu :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| function setGetVarFromURL (getVar)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for ( var i=0; i<vars.length; i++)
{
var pair = vars[i].split("=");
if (pair[0] == getVar)
{
return pair[1];
}
}
return false;
}
function sourceListener ( )
{
var source = setGetVarFromURL('source');
if (source == "popin-homme" || source == "popin-femme")
{
setCookie ( source );
}
}
function setCookie ( value )
{
var cookieLife = 30; // nombre de jours de vie du cookie
var cookieName = "COSMA_POPIN";
var cookieStart = new Date();
var cookieStop = new Date();
cookieStop.setTime ( cookieStart.getTime() + (cookieLife * 24 * 60 * 60 * 1000) );
document.cookie = cookieName + "=" + value + ";expires=" + cookieStop.toGMTString();
}
function getCookie ( )
{
var cookieName = "COSMA_POPIN";
var cookieValue = document.cookie.match ( cookieName + '=(.*?)(;|$)' );
if ( cookieValue )
return ( unescape ( cookieValue[1] ) );
else
return null;
}
function AfficheOuMasqueLaPopIn ( idDeLaPopIn )
{
var cookieVal = getCookie ( );
switch (cookieVal)
{
case "popin-homme":
document.getElementById(idDeLaPopIn).style.display = 'none';
break;
case "popin-femme":
document.getElementById(idDeLaPopIn).style.display = 'none';
break;
default:
document.getElementById(idDeLaPopIn).style.display = 'block';
break;
}
}
function AnimerLaPopIn ( )
{
var idDelaPopIn = 'popin';
var PositionDeFin = 560;
var popIn = document.getElementById(idDelaPopIn);
var popInPosition = parseInt ( popIn.style.left );
if ( popInPosition < (PositionDeFin-5) )
{
var wDifference = PositionDeFin-popInPosition;
var wProgression = parseInt ( wDifference/20 );
var wNouvellePosition = parseInt ( popInPosition+wProgression );
document.getElementById(idDelaPopIn).style.left = wNouvellePosition+"px";
setTimeout ( "AnimerLaPopIn ()", 1 );
}
}
//exécution automatique de l'écouteur:
sourceListener ( ); |
Merci