私はしつこい問題を抱えています。それはインターネット全体にありますが、私の問題に対する具体的な解決策を見つけることができませんでした。ここにあります:
Chromeでは、ブラウザの起動時に「中断したところから続行する」オプションがあります。残念ながら、これは、すべてのセッションCookieが、ブラウザを閉じて復元したとき、またはブラウザを起動したときに保持されることを意味します。ブラウザを閉じたらCookieを強制終了するためにクライアント側(Javascript)アプリケーションが必要ですが、有効期限を設定しなくてもそれは発生しません(したがって、CookieはセッションCookieになります。Chromeでもブラウジングセッションが終了すると期限切れになります)。問題は、ブラウザを閉じたりコンピュータを再起動したりしても、起動設定が非常に悪いため、Chromeがブラウジングセッションを強制終了しないことです。
1つの方法は、15分(または何でも)先の有効期限を指定することです。ユーザーの操作ごとに、Cookieの有効期限が更新されます(Cookieを再作成します)。ユーザーが15分以上(または何でも)非アクティブになると、Cookieは消滅します。他の人がブラウザを開いて前の人のセッションに参加するために15分間開く余裕はありません。また、現在のユーザーがトイレに行くたびにログインすることもできません。だから私はこれが正確に必要です:ユーザーがログインし、Cookieが設定され、ブラウザが閉じられるまで正確に保持されます。これはセッションCookieの通常の動作ですが、...(前の段落)。
ウィンドウのunload()イベントでCookieを削除することも考えましたが、アプリケーションが複数のタブで開かれ、ユーザーがそのうちの1つだけを閉じるとどうなりますか?Cookieの存在を1秒に1回ポーリングし、Cookieを常にJavascript変数に保存しておくと、ユーザーが別のタブを閉じた場合に、必要に応じて1秒に1回Cookieを復元できます。これにより、アプリケーションの最後のタブが閉じられるまで、つまりブラウザが終了するまで、Cookieが存続します。これは私の現在の最善の解決策ですが、私はそれを嫌います。
同じことを達成するための別の(よりクリーンな)方法を知っている人はいますか?ユーザーの起動設定を気にしないChrome(および/または他のブラウザー)を指定する方法はありますか?私のCookieはブラウザーを閉じると消滅するはずですか?
私は十分に理にかなっていると思います:)
ありがとうございました