このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

StorageManager: persist() メソッド

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年12月以降、すべてのブラウザーで利用可能です。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

persist()StorageManager インターフェイスのメソッで、永続的ストレージ(persistent storage)を使用するパーミッションを要求します。 そして、パーミッションが付与されてボックスモードが永続的な場合は true に、そうでない場合は false に解決される Promise を返します。(詳細については、ブラウザーのストレージ割り当てと削除基準のガイドを参照してください。)

メモ: このメソッドはウェブワーカーでは利用できませんが、StorageManager インターフェイスは自体利用可能です。

構文

js
persist()

引数

なし。

返値

Boolean に解決される Promise

例外

TypeError

ローカルストレージのシェルフの取得に失敗した場合に発生します。例えば、現在のオリジンが不透明なオリジンである場合や、ユーザーがストレージを無効にしている場合などです。

js
if (navigator.storage && navigator.storage.persist) {
  navigator.storage.persist().then((persistent) => {
    if (persistent) {
      console.log("明示的なユーザー操作以外では、ストレージは消去されません。");
    } else {
      console.log(
        "ストレージは UA によってストレージの圧力により消去されるかもしれません。",
      );
    }
  });
}

仕様書

仕様書
Storage
# dom-storagemanager-persist

ブラウザーの互換性