Affichage d'une page selon ce que le visiteur à déjà visité

loicseg Messages postés 168 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 30 septembre 2011 - 23 févr. 2010 à 10:59
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 3 mars 2010 à 20:19
Bonjour,
je cherche une solution à mon problème qui est que :
Je souhaite afficher dans une frame une page (vide) si le visiteur n'a pas déjà cliqué sur un lien pour afficher une autre page dans cette frame. A sa prochaine visite je souhaite afficher la page vide s'il n'a pas cliqué sur ce lien sinon afficher la page qu'il aura "ouvert" dans cette frame lors de sa précédente visite. J'espère avoir été claire. Voici mon code actuel mais je ne sais pas comment l'adapter ou peut-être faut-il un autre code :s...



<SCRIPT LANGUAGE="JavaScript">
var nbJour = 100000;
var page = "chargement.htm";

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}

return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;

document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var exp = new Date();
exp.setTime(exp.getTime() + (nbJour*24*60*60*1000));

function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}


function verifNbOuverture() {
var cpt = GetCookie('cpt');
if (cpt == null) {
cpt=2;
SetCookie('cpt', cpt, exp);

document.location.href = page;
}
else {
cpt++;
SetCookie('cpt', cpt, exp);
}
}

verifNbOuverture();

</script>



De plus, j'aimerais faire cet "action" sur plusieurs frame, donc il faudra surement renommer le cookie pour qu'il n'y ait pas de problème mais je ne sais pas comment faire et je ne comprend pas non plus (d'après les informations que j'ai trouvé) comment l'adapter au code (qui n'est pas de moi (je préfére préciser) mais fonctionne pour sa fonction d'origine).

1 réponse

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
3 mars 2010 à 20:19
Bonjour,
pour plus d'info sur les cookies et sur les visites pages
;O)
0