1. ホーム
  2. jquery

[解決済み] なぜChromeはローカルのjQuery cookieを無視するのですか?

2023-06-01 23:28:22

質問

jQuery Cookieプラグインを使用しています( ダウンロード デモ コメント付きソースコード ) を使って、クッキーの設定と読み取りを行っています。ページを開発しているのは、私の ローカルマシン .

以下のコードは、FireFox 3、IE 7、Safari (PC)で正常にCookieを設定します。しかし ブラウザがGoogle Chromeで、ページがローカルファイルである場合 の場合、うまくいきません。

$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});

私が知っていること :

  • プラグインの デモ は Chrome で動作します。
  • 私のコードをウェブサーバー(http:// で始まるアドレス)に置くと、Chrome で動作します。

なので、クッキーが失敗するのは ローカルファイル上のGoogle Chromeの場合 .

考えられる原因 :

  • Google Chrome は、ハード ドライブ上の Web ページ (file:///C:/websites/foo.html のようなパス) からの Cookie を受け付けません。
  • プラグインのインプリメンテーションの何かが、Chrome がそのような Cookie を拒否する原因となっている。

どなたかこれを確認し、根本的な原因を特定することができますか?

どのように解決するのですか?

Chrome は --enable-file-cookies フラグで起動しない限り、ローカル ファイル (または Peter Lyons が言及したように localhost*) の Cookie をサポートしません。それについての議論は、次のサイトで読むことができます。 http://code.google.com/p/chromium/issues/detail?id=535 .

*クローム は、ローカル IP アドレス (127.0.0.1) を直接使用する場合、クッキーをサポートします。したがって、localhost の場合、これはより簡単な回避策かもしれません。