有効期限のないクッキーを設定したいのですが。それは可能でしょうか?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
日付を実際に大きくしたくはありません。Cookieの期限切れパラメーターに、期限切れにならないように指示する値があったのかと思っています。
ありがとう。
有効期限のないクッキーを設定したいのですが。それは可能でしょうか?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
日付を実際に大きくしたくはありません。Cookieの期限切れパラメーターに、期限切れにならないように指示する値があったのかと思っています。
ありがとう。
回答:
いいえ。できません。それを行う「方法」は、有効期限を2030年のようにするだけです。
必要な構文はありません。有効期限を設定しないと、Cookieはセッションの終了時に期限切れになります。唯一のオプションは、任意の大きな値を選択することです。一部のブラウザでは、2038日を過ぎた日付で問題が発生することに注意してください(UNIXエポック時間が32ビット整数を超える場合)。
あなたはMozilla docsの例として行うことができます:
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
PS
もちろん、人類が10000年の最初の分にもコードを使用している場合は問題が発生します:)
すべてのCookieはCookie 仕様に従って有効期限が切れます。設定できる最大値は
2^31 - 1 = 2147483647 = 2038-01-19 04:14:07
したがって、Cookieの最長有効期間は
$.cookie('subscripted_24', true, { expires: 2147483647 });
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
1か月程度の有効期限でCookieを設定し、ユーザーが再度WebサイトにアクセスするたびにCookieを再割り当てすることもできます
有効期限を設定しない場合、Cookieはユーザーのセッションの終了時に期限切れになります。UNIXエポック時間が32ビット整数を超えて拡張される直前の日付を使用することをお勧めします。それをCookieに入れるには、が設定document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
してrandomCookie
いるCookie であり、true
それがそれぞれの値であると仮定して、を使用します。
あなただけではできません。永久Cookieの設定に使用する正確なコードはありませんが、などの古いトリックで十分current time + 10 years
です。
January 2038
Cookie(32ビットのint)を超える日付を指定すると、すぐに削除されます。近い将来に修正される予定の奇跡を願っています。以下のために64ビットint、周りの年が2110
安全になります。時間が経つにつれ、ソフトウェアとハードウェアは変化し、古いもの(現在のもの)に適応しない可能性があるため、将来に備えて今を準備します。
2038年問題を参照
クライアント側からのみデータを読み取る場合は、ローカルストレージを使用できます。ブラウザのキャッシュがクリアされた場合にのみ削除されます。