IDBVersionChangeEvent

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

IndexedDB APIIDBVersionChangeEvent インターフェイスは、onupgradeneeded イベントハンドラー関数の結果として、データベースのバージョンが変更されたことを表します。

メモ: この機能はウェブワーカー内で利用可能です。

Event IDBVersionChangeEvent

コンストラクター

IDBVersionChangeEvent()

データベースのバージョンが変更されたことを表す新しい IDBVersionChangeEvent オブジェクトを作成して返します。

インスタンスプロパティ

親の Event インターフェイスからもプロパティを継承します。

IDBVersionChangeEvent.oldVersion 読取専用

データベースの古いバージョンを返します。

IDBVersionChangeEvent.newVersion 読取専用

データベースの新しいバージョンを返します。

インスタンスメソッド

固有のメソッドはありませんが、親の Event インターフェイスからメソッドを継承します。

以下のコードスニペットでは、データベースを開く要求をし、成功した場合と失敗した場合用のハンドラーを用意します。バージョンが変更された時 (upgradeneeded イベントの後)、success イベントは IDBVersionChangeEvent インターフェイスを実装します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)

js
const note = document.querySelector("ul");

// 我々のデータベースのバージョン 4 を開きましょう
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// これらの 2 個のイベントハンドラーは、データベースが正常に開かれた時と、そうでない時に動きます
DBOpenRequest.onerror = (event) => {
  note.innerHTML += "<li>データベースの読み込み中にエラーが発生しました。</li>";
};

DBOpenRequest.onsuccess = (event) => {
  note.innerHTML += "<li>データベースの初期化が完了しました。</li>";

  // データベースを開いた結果を変数 db に格納します。これは後で、トランザクションの開始などたくさん使います。
  const db = DBOpenRequest.result;
};

仕様書

Specification
Indexed Database API 3.0
# events

ブラウザーの互換性

BCD tables only load in the browser

関連情報