文字列化されたJavaScriptオブジェクトをsessionStorageに保存するWebサイトがあります。デスクトップブラウザでもうまく機能します。データは、MDNで説明したように、ページの再読み込みにも存続します。Androidで予期せずにsessionStorageがクリーンアップされました
Android搭載端末では、ユーザーが別のタブから切り替わったとき、またはブラウザがバックグラウンドからフォアグラウンドに戻ったときにタブが再読み込みされることは珍しくありません。しかし、これはそうではないようです。セッションが新たに作成されたかのように、sessionStorageが欠落しています。
代わりにlocalStorageを使用することを考えましたが、セッションが閉じても期限切れになりません。それは本当にすべての私の問題を整理するわけではありません - 私はユーザーが複数のタブでそれを複数回開くことができ、それらのそれぞれの上で異なることを期待するので。
だから私の質問は以下のとおりです。期待通り
- は、上述のsessionStorageの振る舞いですか?そうでない場合、私はそれを修正するために何ができますか?
- 動作が期待どおりで、localStorageを使用する必要がある場合、個々のタブごとに保存されているオブジェクトをどのように識別できますか?
ご協力いただきありがとうございます。
ユーザーがタブを閉じると、sessionStorageの削除がわかります。しかし、私が説明したシナリオでは、ユーザーは実際にタブを閉じることはありません。彼/彼女はただ別のタブに切り替えるか、ブラウザをバックグラウンドに送り、後で戻ってきます。デスクトップ環境では、これらの操作のどちらでも、sessionStorageがクリーンアップされないことは確かです。モバイルでは動作が異なるようです。 – CLDev
localStorageソリューションは、ユーザーが自分のWebサイトのインスタンスを1つしか持たない場合に機能します。私のウェブサイトが複数のタブで複数回開かれている場合、それぞれを一意に識別し、それぞれの保存されたオブジェクトを戻すための最良の方法は何ですか? – CLDev