JQuery Cookieプラグイン( download および demo および コメント付きソースコード )を使用して、Cookieを設定および読み取ります。私はローカルマシンでページを開発しています。
次のコードは、FireFox 3、IE 7、およびSafari(PC)でCookieを正常に設定します。ただし、ブラウザがGoogle Chromeであり、ページがローカルファイルの場合、機能しません。
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
私が知っていること:
そのため、ローカルファイルのGoogle 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)を直接使用する場合、ChromedoesはCookieをサポートします。 localhostの場合、それは簡単な回避策かもしれません。
ローカルアプリケーションの場合は、代わりにChrome=でlocalStorageを使用します: http://people.w3.org/mike/localstorage.html
私はいくつかの問題を抱えていて、このひどい解決策を解決しました。ストアとCookieプラグインを一緒に使用します。
<script src="js/jquery.cookies.2.2.0.js" type="text/javascript"></script>
<script src="js/jquery.Storage.js" type="text/javascript"></script>
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
//get cookies
var helpFlag=(is_chrome)?$.Storage.get("helpFlag"):$.cookies.get("helpFlag");
//set cookies
if(is_chrome)$.Storage.set("helpFlag", "1");else $.cookies.set("helpFlag", "1");
これは完璧な解決策ではないことを知っていますが、私にとってはうまくいきます
同じ問題が発生しました。代わりにローカルホストのIPアドレスを使用してみてください。例:「http://127.0.0.1/yoursite/」
Cookies&Google Analytics をご覧ください。
$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30});
この行を
$.cookie("nameofcookie", cookievalue, {*Path:* "/", expires: 30});
このプロジェクトは正常に機能しています。
別の考えられる原因はpath: "/"
、通常のWeb URLを使用していないため、/
はおそらくあまり意味がありません-パスをまったく設定せずに試してください。
クロムを使用する場合、これはローカルCookieを有効にするコマンドです
クロムブラウザ--enable-file-cookies
クロムについても同じです
これがあなたを助けることを願っています!