2011-12-17 11 views
6

ja ustawienie cookie w JavaScript za pomocą następującego kodu:Chrome nie ustawienie ścieżka cookies wykorzenić

setCookie('cart_items','product_name'); 


function setCookie(name,value,days) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

Ale ścieżka cookies nie jest ustawiony na root (/) w Chrome. Zamiast tego ustawia się ścieżkę, z której jest wykonywana strona internetowa !!

Testowałem z IE i FF. Działa dobrze z obydwoma przeglądarkami ...

Co może być nie tak z Chrome lub Czy jest to problem z kodem do tworzenia plików cookie, z którego korzystam?

W Chrome (16.0.912.63)

Ścieżka:/xxxxxxxx/xxxxxxx

w FF (6,0)

Ścieżka:/

w IE (9)

Ścieżka:/

+0

Dlaczego sam nie ustawisz ścieżki? –

+0

ścieżka została jawnie ustawiona (document.cookie = nazwa + "=" + wartość + wygasa + "; ścieżka = /";) – Sandy505

+0

ah. Przepraszam, mój błąd. –

Odpowiedz

9

Powodem takiej sytuacji jest chrom, ponieważ nie pozwala na ustawianie ciasteczek lokalnych plików domyślnie. Zobacz tę odpowiedź uzyskać więcej informacji: https://stackoverflow.com/a/347997/1324019 (tekst odpowiedź)

Chrome nie obsługuje plików cookie dla lokalnych plików (lub, jak Peter Lyons wspomniano, localhost *), chyba że zaczniesz go z --enable-pliku - flaga piekarzy. Możesz przeczytać dyskusję na ten temat pod numerem http://code.google.com/p/chromium/issues/detail?id=535.

* Chrome wykonuje obsługę plików cookie, jeśli używasz lokalnego adresu IP (127.0.0.1) bezpośrednio. więc w przypadku localhost może to ułatwić obejście.

+0

^powyżej jest prawidłową odpowiedzią. gdyby tylko OP oznaczyłby go jako taki – duggi

Powiązane problemy