Javascript et cookies ?
help me
-
Groarh Messages postés 706 Statut Membre -
Groarh Messages postés 706 Statut Membre -
Bonjour,
j utilise ce script pour afficher une page des news une fois par semaine pour chaque visiteur unique .
comment je peux modifie ce script pour afficher les news 2 fois par semaine pour chaque visiteur unique ?
voici le script . merci de votre aide
j utilise ce script pour afficher une page des news une fois par semaine pour chaque visiteur unique .
comment je peux modifie ce script pour afficher les news 2 fois par semaine pour chaque visiteur unique ?
voici le script . merci de votre aide
<SCRIPT LANGUAGE="JavaScript">
var nbJour =7;
var page = "News.html";
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>
A voir également:
- Javascript et cookies ?
- Supprimer les cookies - Guide
- Telecharger javascript - Télécharger - Langages
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript echo ✓ - Forum PHP
- A javascript error occurred in the main process - Forum Windows
2 réponses
Dis-moi, c'est du script de la vieille école que tu nous as trouvé là :p
Sans regarder, je dirais que la solution à ton problème se trouve à la première ligne de ton code. une variable qui s’appelle nbJours et qui est égale à 7, dans un script qui renouvelle un cookie tous les sept jours, hmm, tiens, doit y avoir un truc…
En regardant un peu mieux j’ai l’impression qu’il manque quelque chose, mais ce n’est peut-être qu’une impression.
Si tu ne trouves pas solution à ton problème, j’y regarderai d’un peu plus près ;)
Sans regarder, je dirais que la solution à ton problème se trouve à la première ligne de ton code. une variable qui s’appelle nbJours et qui est égale à 7, dans un script qui renouvelle un cookie tous les sept jours, hmm, tiens, doit y avoir un truc…
En regardant un peu mieux j’ai l’impression qu’il manque quelque chose, mais ce n’est peut-être qu’une impression.
Si tu ne trouves pas solution à ton problème, j’y regarderai d’un peu plus près ;)
C’est toi qui as fait le code ? Ça ressemble à du C* ou du Java (le « return null » ou encore la gestion pour ainsi dire particulière des arguments dans Setcookie). Comme dirait Christophe Porteneuve, et sans vouloir vexer qui que ce soit (^^), « à vouloir écrire du Java comme on faisait du C++, on ne produit que du mauvais Java ». Surtout ne le prends pas mal, je suis d’humeur sarcastique ce soir… Sinon, je disais vieille école à cause des balises en majuscules et de l’attribut langage qui est déprécié (à la place il faut mettre type="text/javascript" pour satisfaire à la norme MIME).
Enfin bref, j’avais pas compris ta question, je croyais que tu voulais doubler la fréquence des news (genre passer nbJours à 3 ou 4).
Bien. Pour ton problème, j’ai envie de dire : cpt-- à la place de cpt++ dans la fonction verifNbOuverture, et un test if(cpt > 0) qui autorise l’accès aux news (j’imagine que le « document.location.href = page » conduit aux news).
J’espère que je me gourre pas ;)
Enfin bref, j’avais pas compris ta question, je croyais que tu voulais doubler la fréquence des news (genre passer nbJours à 3 ou 4).
Bien. Pour ton problème, j’ai envie de dire : cpt-- à la place de cpt++ dans la fonction verifNbOuverture, et un test if(cpt > 0) qui autorise l’accès aux news (j’imagine que le « document.location.href = page » conduit aux news).
J’espère que je me gourre pas ;)
oui var nbJour =7; c est pour que le cookies reste 7 jour au navigateur du visiteur pour pas a chaque fois qui visite
mon site la fenetre de news s ouvre :)
donc je veut que la page news s ouvre 2 fois par semaine , meme au meme journer ,apres le visiteur doit attendre 7 jours pour qu'il puis regarder les nouveaux news .
merci d avance