Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Usuwanie cookie
Forum PHP.pl > Forum > Przedszkole
terator
Chciałbym sie spytac co wam sie wyswietla odpalajac ten skrypt:
  1. </head>
  2. <div id="ppp"></div>
  3. <div id="iloscsek"></div>
  4.  
  5. if(pokazCookie('nazwa_cistka4'))
  6. {
  7. usunCookie('nazwa_cistka4');
  8. }
  9. else
  10. {
  11. ustawCookie('nazwa_cistka4', 'wartosc_ciastka', 1000); // 1000 sekund
  12. }
  13.  
  14. document.getElementById("ppp").innerHTML='czy cookies istnieje: ' + pokazCookie('nazwa_cistka4');
  15.  
  16. function ustawCookie(nazwa, wartosc, sekund) {
  17. if (sekund) {
  18. var data = new Date();
  19. data.setTime(data.getTime()+(sekund*1000));
  20. var expires = "; expires="+data.toGMTString();
  21. } else {
  22. var expires = "";
  23. }
  24. document.cookie = nazwa+"=" + wartosc + expires + "; path=/";
  25. }
  26.  
  27.  
  28. function pokazCookie(nazwa) {
  29. if (document.cookie!="") { //je|eli document.cookie w ogóle istnieje
  30. var cookies=document.cookie.split("; "); //tworzymy z niego tablic ciastek
  31. for (i=0; i<cookies.length; i++) { //i robimy po niej ptl
  32. var nazwaCookie=cookies[i].split("=")[0]; //nazwa ciastka
  33. var wartoscCookie=cookies[i].split("=")[1]; //warto[ ciastka
  34. if (nazwaCookie===nazwa) {
  35. return unescape(wartoscCookie) //je|eli znalezli[my ciastko o danej nazwie, wtedy zwracamy jego warto[
  36. }
  37. }
  38. }
  39. }
  40.  
  41.  
  42. function usunCookie(nazwa) {
  43. document.cookie = nazwa + '=a; expires=Thu, 01 Jan 1970 00:00:01 GMT';
  44. }
  45. </body>
  46. </html>

Powinno przy pierwszym przeladowaniu strony zaladowac a za drugim przeladowaniu usunac ciastko, czy zgadza sie?

U mnie po drugim przeladowaniu cistko ciagle istnieje i wynik jest taki:
"czy cookies istnieje: wartosc_ciastka"

A chyba powinien być:

"czy cookies istnieje: undefindet"

Jak u was sie wyswietla? Czy moje przegladarki cos szwankuja?
nospor
cokie po skasowaniu znika dopiero po przeladowaniu. PRzeciez "usuwajac" ustawiasz tak czy siak cookie tylko ze z inna data:
document.cookie = nazwa + '=a; expires=Thu, 01 Jan 1970 00:00:01 GMT';
wiec w tym samym zadaniu js ciagle widzi document.cookie... tak wiec to nie przelgadarka tu sszwankuje wink.gif
terator
To dosc banalnie zapytam, czy jest sposob aby usunac ciastko tak zeby po przeladowaniu juz go nie widzial... Rozumiem, ze w powyzszej wunkcji usuwajacej zmieniam data na nieaktywna przez to cistko nie ma waznosci, ale nie wiem jak mam sformulowac instrukcje wykrywajaca ze ciastko nie jest aktywne... Lub jak wczesniiej pisalem czy da sie definitywnie usunac ciastko?
terator
http://jsfiddle.net/VMPv7/
Sprawdzcie czy u was usuwa - najpierw zaladujcie a potem usuncie - u mnie usuwanie nie dziala.... Co tam jest zle, czy u mnie jednak cos nie tak?
werdan
http://jsfiddle.net/VMPv7/5/

path brakowało.
terator
Dzieki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.