Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] cookies
Forum PHP.pl > Forum > Przedszkole
ebnott
  1. <script language="javascript" type="text/javascript">
  2.  
  3. var exp = new Date();
  4. exp.setTime(exp.getTime()+ 1000*60*60*24*365);
  5. exp.toGMTString();
  6.  
  7. function ColorIn(color) {
  8.  
  9. if (color == 'blue' ) {
  10. color2 = '0088cc';
  11. SetCookie("kolor", color, exp);
  12. }
  13. if (color == 'green' ) {
  14. color2 = '009900';
  15. SetCookie("kolor", color, exp);
  16. }
  17. if (color == 'red' ) {
  18. color2 = 'bb0000';
  19. SetCookie("kolor", color, exp);
  20. }
  21.  
  22. // (...)
  23.  
  24. }
  25.  
  26. if(!GetCookie("kolor"))
  27. {
  28. styl = "blue.css";
  29. }
  30. else
  31. {
  32. styl = GetCookie("kolor");
  33. styl += ".css";
  34. }
  35.  
  36. document.write("<link href='"+styl+"' type='text/css' rel='StyleSheet' />");


Możecie mi powiedzieć dlaczego ciasteczko zawsze wygasa po zakończeniu sesji, a na IE w ogóle się nie tworzy?
I byłbym wdzięczny za optymalizację kodu i uwagi, jeśli źle to robię (cel widać).
lord_t
Elo, nie podałeś definicji poniższych funkcji(!) to wyszperałem takie (patrz niżej) na necie, no i wszystko działa bezproblemowo. Testowałem w FF2 i IE7.
Kod
function getCookie(nazwa) { // użyj: getCookie("nazwa");
var ciacho = document.cookie;
var start = ciacho.indexOf(nazwa + "="); // sprawdzenie czy i gdzie zaczyna sie ciacho
if (start == -1) return null;
start = ciacho.indexOf("=", start) + 1; // początek wartości zmiennej
var stop = ciacho.indexOf(";", start); // koniec wartości zmiennej
if (stop == -1) stop = ciacho.length;
return unescape(ciacho.substring(start, stop));
}

function setCookie(nazwa, wartosc,dokiedy) { // użyj: setCookie("nazwa", wartosc);
if (wartosc != null && wartosc != "")
document.cookie=nazwa + "=" + escape(wartosc) + "; expires=" + dokiedy;
ciacho = document.cookie; // uaktualnij ciacho
}
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.