Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Usuwanie cookie
-terator-
post 5.12.2013, 09:44:52
Post #1





Goście







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?
Go to the top of the page
+Quote Post
nospor
post 5.12.2013, 10:19:34
Post #2





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-terator-
post 5.12.2013, 10:29:13
Post #3





Goście







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?
Go to the top of the page
+Quote Post
-terator-
post 5.12.2013, 14:09:04
Post #4





Goście







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?
Go to the top of the page
+Quote Post
werdan
post 5.12.2013, 14:40:17
Post #5





Grupa: Zarejestrowani
Postów: 354
Pomógł: 100
Dołączył: 14.11.2013
Skąd: Płock

Ostrzeżenie: (0%)
-----


http://jsfiddle.net/VMPv7/5/

path brakowało.
Go to the top of the page
+Quote Post
-terator-
post 5.12.2013, 14:59:50
Post #6





Goście







Dzieki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 06:58