2011-12-17 6 views
6

rootに設定:クロームないクッキーのパスは、私は次のコードを使用してJavaScriptでクッキーを設定しています

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=/"; 
} 

をしかし、クッキーのパスはChromeのルート(/)に設定されていません。代わりに、Webページが実行されている場所からのパスに設定されます。

IEとFFでテストしました。これらの両方のブラウザで正常に動作します....

Chromeで問題が発生している可能性がありますかCookieの作成コードに問題がありますか?

クロムで(16.0.912.63)

パス:/ XXXXXXXX/XXXXXXX

FF(6.0)で

パス:/

IE(9)

パス:クロムはデフォルトでローカルファイルにクッキーを設定することはできませんので、これが起こる/

+0

パスを自分で設定しないのはなぜですか? –

+0

パスが明示的に設定されています(document.cookie = name + "=" + value + expires + "; path = /";) – Sandy505

+0

ah。すみません、私の間違いです。 –

答えて

9

理由があります。詳細については、この回答を参照してください:https://stackoverflow.com/a/347997/1324019(答えからテキストを)

Chromeがローカルファイルのためのクッキーを(または、ピーター・リヨンが述べたように、ローカルホスト*)あなたは--enable-ファイルでそれを開始しない限りサポートしていません

-cookiesフラグ。あなたはそれについての議論をhttp://code.google.com/p/chromium/issues/detail?id=535で読むことができます。

* は、ローカルIPアドレス(127.0.0.1)を直接使用する場合はCookieをサポートします。 localhostの場合、これは簡単な回避策になる可能性があります。

+0

^は正解です。 OPだけがそのようにマークするならば – duggi

関連する問題