-
1. Data: 2010-05-07 22:29:23
Temat: JS - dlaczego cookies znika?
Od: Marek <b...@e...com>
Witam,
Flash posiada włącznik muzyki. Chciałem aby jego stan był zapamiętany w
cookies po to aby przy kolejnych wejściach powracał stan zapamiętany.
Tymczasem okazuje się, że cookies jest pamiętane ... ale do czasu
zamknięcia przeglądarki. Być może to ważne: strona jest w PHP.
Kliknięcie na przycisku on/off we Flashu wywołuje funkcję JS jak niżej:
function setMusicState(state)
{
writeCookie("music",state ? 1 : 0,365);
document.location.reload();
}
Gdy Flash załaduje się (następuje to po załadowaniu całości dokumentu),
sprawdza czy może odtwarzać muzykę.
function getMusicState()
{
var cookies=readCookies();
if (!cookies) return true;
if (typeof(cookies["music"])=="undefined") return true;
return cookies["music"]==1;
}
Funkcje zapisu i odczytu cookies wyglądają następująco:
function readCookies()
{
var i,arr,tmp,ret=new Object;
arr=document.cookie.split("; ");
if (arr.length==0) return null;
for (i=0;i<arr.length;i++)
{
tmp=arr[i].split("=");
if (tmp.length!=2) continue;
ret[tmp[0]]=unescape(tmp[1]);
}
return ret;
}
function writeCookie(name,value,expiryDays)
{
var tmp, expires=new Date();
tmp=expires.getTime()+expiryDays*24*60*60*1000;
expires.setTime(tmp);
document.cookie=name+"="+escape(value)+";
expiries="+expires.toGMTString();
}
Po zamknięciu browsera i otwarciu go na stronie WWW, cookies zawiera
wyłącznie ID sesji PHP. Nie ma w cookies śladu po zmiennej "music" mimo, że
czas wygaśnięcia był ustawiony na rok. Czy wie ktoś z Was w czym rzecz?
-
2. Data: 2010-05-08 07:37:01
Temat: Re: JS - dlaczego cookies znika?
Od: Peter May <p...@o...pl>
W dniu 2010-05-08 00:29, Marek pisze:
[...]
> Po zamknięciu browsera i otwarciu go na stronie WWW, cookies zawiera
> wyłącznie ID sesji PHP. Nie ma w cookies śladu po zmiennej "music" mimo, że
> czas wygaśnięcia był ustawiony na rok. Czy wie ktoś z Was w czym rzecz?
Jesteś pewien, że cookies dobrze ustawiasz? Nie chce mi się analizować
funkcji ustawiających cookie, ale może spróbuj tego:
var Cookie = {
set : function(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
},
get : function(name) {
name += "=";
var s = document.cookie.split("; ");
for ( var i = 0; i < s.length; i++) {
var c = s[i];
if (c.indexOf(name) === 0) {
return unescape(c.substring(name.length, c.length));
}
}
return null;
},
erase : function(name) {
this.set(name, "", -1);
},
enabled : function() {
this.set("cookietest", "cookietest");
return this.get("cookietest") !== null;
}
};
Przykład:
Cookie.set("nazwa","wartosc", 365);
--
Peter
-
3. Data: 2010-05-08 07:56:49
Temat: Re: JS - dlaczego cookies znika?
Od: olo <o...@n...com>
W dniu 08.05.2010 00:29, Marek pisze:
> Witam,
>
> Flash posiada włącznik muzyki.
flash posiada także swoje własne "cookie", ktore zwa sie sharedObject
czy cos w tym stylu. Uzycie szybkie, proste i wygodne
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
http://en.webtrunki.pl - beers, wines, vodkas, your own products
-
4. Data: 2010-05-08 08:51:34
Temat: Re: JS - dlaczego cookies znika?
Od: Marek <b...@e...com>
Dnia Sat, 08 May 2010 09:37:01 +0200, Peter May napisał(a):
> W dniu 2010-05-08 00:29, Marek pisze:
>
> Jesteś pewien, że cookies dobrze ustawiasz? Nie chce mi się analizować
> funkcji ustawiających cookie, ale może spróbuj tego:
>
Cookie jakoś dizała - tylko wygasa tak jakby czas ważności nie był
ustawiany (sprawdzałem to 10x - i jest). Czyli cookie znika po zamknięciu
browsera.
Przeanalizowałem kod jaki proponujesz i jest bliźniaczo podobny do mojego:
różni się tylko dodawaniem path do cookie. Dodałem i też nic :-(
Przypuszczam, że ma z tym związek PHP. Wróżę trochę teraz...
-
5. Data: 2010-05-08 08:54:17
Temat: Re: JS - dlaczego cookies znika?
Od: Marek <b...@e...com>
Dnia Sat, 08 May 2010 09:56:49 +0200, olo napisał(a):
> W dniu 08.05.2010 00:29, Marek pisze:
>> Witam,
>>
>> Flash posiada włącznik muzyki.
>
> flash posiada także swoje własne "cookie", ktore zwa sie sharedObject
> czy cos w tym stylu. Uzycie szybkie, proste i wygodne
Tak, wiem. Standardowo ustawione do 100kB. W tym konkretnym rozwiązaniu
mógłbym to ostatecznie zastosować. Generalnie jednak wolałbym użytkownikom
pozwolić na pełną kontrolę nad aplikacją. Każdy może usunąć cookies
natomiast z tego bufora to nie takie proste - no i trzeba wiedzieć, że coś
takiego w ogóle istnieje.
-
6. Data: 2010-05-08 09:17:41
Temat: Re: JS - dlaczego cookies znika?
Od: Peter May <p...@o...pl>
W dniu 2010-05-08 10:51, Marek pisze:
> Dnia Sat, 08 May 2010 09:37:01 +0200, Peter May napisał(a):
>
>> W dniu 2010-05-08 00:29, Marek pisze:
>>
>> Jesteś pewien, że cookies dobrze ustawiasz? Nie chce mi się analizować
>> funkcji ustawiających cookie, ale może spróbuj tego:
>>
>
> Cookie jakoś dizała - tylko wygasa tak jakby czas ważności nie był
> ustawiany (sprawdzałem to 10x - i jest). Czyli cookie znika po zamknięciu
> browsera.
A sprawdź jeszcze zachowanie na innym komputerze. Chodzi o to, aby
wyeliminować podejrzenia co do ustawień bezpieczeństwa na danym komputerze.
--
Peter
-
7. Data: 2010-05-08 15:22:52
Temat: Re: JS - dlaczego cookies znika?
Od: Borys Pogoreło <b...@p...edu.leszno>
Dnia Sat, 8 May 2010 10:51:34 +0200, Marek napisał(a):
> Cookie jakoś dizała - tylko wygasa tak jakby czas ważności nie był
> ustawiany (sprawdzałem to 10x - i jest). Czyli cookie znika po zamknięciu
> browsera.
Testowane webdeveloperem? Zajrzyj do plików cookies danej przeglądarki,
przekonasz sie co tam naprawdę ląduje.
--
Borys Pogoreło
borys(#)leszno,edu,pl
-
8. Data: 2010-05-08 21:38:59
Temat: Re: JS - dlaczego cookies znika?
Od: "Gabriel" <z...@p...fm>
Użytkownik "Marek" <b...@e...com> napisał w wiadomości
news:1tp3k8g69x2hf.1vut1wbb8g5t9.dlg@40tude.net...
> Tak, wiem. Standardowo ustawione do 100kB. W tym konkretnym rozwiązaniu
> mógłbym to ostatecznie zastosować. Generalnie jednak wolałbym użytkownikom
> pozwolić na pełną kontrolę nad aplikacją. Każdy może usunąć cookies
> natomiast z tego bufora to nie takie proste - no i trzeba wiedzieć, że coś
> takiego w ogóle istnieje.
Ja moze tak z innej beczki i troche OT.
A nie mozesz dac standardowo muzyke OFF?
Bo przyznam szczerze, ze cokolwiek, co ma defaultowo wlaczona muzyke
powoduje u mnie alt+f4. Chodzi oczywiscie o strony.
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl - Monitoring Komputera
-
9. Data: 2010-05-10 09:17:38
Temat: Re: JS - dlaczego cookies znika?
Od: Marek <b...@e...com>
Dnia Sat, 8 May 2010 23:38:59 +0200, Gabriel napisał(a):
> Ja moze tak z innej beczki i troche OT.
> A nie mozesz dac standardowo muzyke OFF?
> Bo przyznam szczerze, ze cokolwiek, co ma defaultowo wlaczona muzyke
> powoduje u mnie alt+f4. Chodzi oczywiscie o strony.
U mnie też podobne wrażenia to wywołuje - lecz nie mogę...
-
10. Data: 2010-05-10 11:16:09
Temat: Re: JS - dlaczego cookies znika?
Od: Marek <b...@e...com>
Dnia Sat, 8 May 2010 17:22:52 +0200, Borys Pogoreło napisał(a):
> Testowane webdeveloperem? Zajrzyj do plików cookies danej przeglądarki,
> przekonasz sie co tam naprawdę ląduje.
Cenna sugestia. Wygląda na to, że ten cookie z jednej strony wcale się nie
zapisuje mimo że chodząc po poszczególnych stronach serwisu - jest
odczytywany prawidłowo. Wygląda to tak jakby cookie został ukryty: nie
widać go lecz można odczytać go lecz tylko w obrębie sesji przeglądania. Po
jej zerwaniu cookie przestaje być odczytywany. O co moze chodzić?