Bonjour,
J'ai le code suivant, comment l'adapter pour tester la présence dun cookie chez le client?
Merci d'avance...Code:
1
2
3
4
5
6 if (document.getElementById('objet')) { // objet existe } else { // objet n'existe pas }
Version imprimable
Bonjour,
J'ai le code suivant, comment l'adapter pour tester la présence dun cookie chez le client?
Merci d'avance...Code:
1
2
3
4
5
6 if (document.getElementById('objet')) { // objet existe } else { // objet n'existe pas }
tu peux jeter ton code...
http://javascript.developpez.com/faq...=navig#cookies
Oui ca je sais mais ca ne me permet pas de tester la précense du cookie, avant de récupérer une valeur d'n écrire un ou d'en détruire un, je dois pouvoir testé s'il existe...
Bon pour éviter de poster 36 fois je vais vous exposer mon problème. Sur un site, il y a 2 pages différentes qui permettent d'acceder à une page... Sur cette page il y a un bouton (un lien) précédent...Le but est donc de renvoyer le client vers la page d'ou il viens (une des 2)...Jusqu'ici c'est facile, un fonction javascript:history.back(); aurait convenu sauf qu'il y a plusieurs pages. Je m'explique, après avoir acceder à la page 1, le client voudra allé à la page 2 puis 3 puis 4 (article sur pls pages) donc quand il reviendra à la page 1 le history.back() le renverra à la age 2, d'ou la création de mon script...A l'arrivée sur la page 1 on écrit un cookie contenant la valuer de la variable document.referrer ca permet de garder la trace de la page d'ou vient le client...voici mon code, il y a 2commentaires au endroits ou il faut encore faire des modifs, ce serait sympa de répondre au question des 2 commentaires, si vous ne comprenez pas exactement l'utilisté du script ou s'il y a d'autres erreurs signalé-le-moi
Le script:
Le lien précédent: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 <script language="javascript"> <!-- function historique ( his ) { his=document.referrer; if ( ) /* Il faut tester l'existence de cook_his avant d'écrire un autre cookie ou avant de détruire ou de lire quoi que ce soit */ { function GetCookie(name) { var startIndex = document.cookie.indexOf(cook_his); if (startIndex != -1) { var endIndex = document.cookie.indexOf(";", startIndex); if (endIndex == -1) endIndex = document.cookie.length; return unescape(document.cookie.substring(startIndex+cook_his.length+1, endIndex)); } else { return null; } } } //Ici, il faudrait que je parvienne à remplacer la valeur de la variable his par celle du cookie. else { function SetCookie(cook_his, his, 1) { var expire = new Date (); expire.setTime (expire.getTime() + (24 * 60 * 60 * 1000) * 1); document.cookie = cook_his + "=" + escape(his) + "; expires=" +expire.toGMTString(); } } } return his; function del_cook( cook_his ) { var expire = new Date (); expire.setTime (expire.getTime() - (24 * 60 * 60 * 1000)); document.cookie = cook_his + "=; expires=" + expire.toGMTString(); } --> </script>
Code:
1
2 <a href="javascript:historique(his);" onclick="del_cook();">
la reponse :
http://forums.phpbb-fr.com/viewpost_616438.html
merci c'est très sympa
Bon y me reste un pb qui est entre les //*** ..... ***//
Si qq1 a une sol... Dites moi aussi si ce script (stcoké ds un .js) vous parait correct ou bien s'il y a des erreurs?
le code du bouton précédent: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 function historique ( his ) { his=document.referrer; function VerCookie(cook_his) { var search = cook_his + "=" if (document.cookie.length > 0) { // si il existe au moins un cookie offset = document.cookie.indexOf(search) if (offset != -1) { // si le cookie recherché existe function GetCookie(cook_his) { var startIndex = document.cookie.indexOf(cook_his); if (startIndex != -1) { var endIndex = document.cookie.indexOf(";", startIndex); if (endIndex == -1) endIndex = document.cookie.length; return unescape(document.cookie.substring(startIndex+cook_his.length+1, endIndex)); } else { return null; } } return offset } else { //le cookie n'existe pas function SetCookie(cook_his, his, 1) { var expire = new Date (); expire.setTime (expire.getTime() + (24 * 60 * 60 * 1000) * 1); document.cookie = cook_his + "=" + escape(his) + "; expires=" +expire.toGMTString(); //*******Ici, il faudrait que je parvienne à remplacer la valeur de la variable his par celle du cookie.*****// } } return -1 } } } function del_cook( cook_his ) { var expire = new Date (); expire.setTime (expire.getTime() - (24 * 60 * 60 * 1000)); document.cookie = cook_his + "=; expires=" + expire.toGMTString(); }
Question supplémentaire: mes fonctions ne seront appellées que qd j'en aurais besoin elle ne risque pas toutes de s'executer au chargement du .js, je ne veut pas faire un truc qui s'auto-détruit tt de suite!Code:
1
2 <a href="javascript:historique(his);" onclick="del_cook();">