IndexdDBに関するいくつかの記事を読みましたが、永続化されたデータの存続期間に関する詳細を見つけることができませんでした。データ操作のセッションに使用し、ユーザーが終了したらアップロードする予定です。しかし、次の場合はどうなりますか。
また、Cookieベースの認証を通じてユーザーセッションを維持しています。ユーザーがログオフして再度ログインするとどうなりますか?ログオフの前にデータを取得する方法はありますか?
これを処理するためのドキュメントをいただければ幸いです。 spec をざっと読みましたが、あまりよく読めません。
ありがとう。
localStorage
に似ているため、クロスセッションです。つまり、ブラウザまたはシステムを再起動しても、そこに保存されているものには影響しません。ただし、ユーザーはCookieをクリアするようにクリアできます。したがって、これは永続的なCookieと同じであり、サーバー側からは信頼せず、常にその整合性をチェックする必要があります。
永続ストレージ はChrome v52以降およびFirefox以降v55で利用可能です。ただし、他のブラウザでのサポートは信頼できません。永続ストレージが利用可能かどうかをテストする必要があります。それに応じて反応します。
_if (navigator.storage && navigator.storage.persist) {
navigator.storage.persist().then(persistent => {
if (persistent) {
console.log("Storage will not be cleared except by explicit user action");
} else {
console.warn("Storage may be cleared by the UA under storage pressure.");
}
});
}
_
Chromeには、この機能を使用するための許可が必要です。次のいずれかに該当する場合、navigator.storage.persist()
を呼び出すと自動的に付与されます。
このリストは Chromeの実装の概要を説明する記事 からのものであり、この主題に関する新しい情報で定期的に更新されます。