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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
IDBVersionChangeEvent
IDBVersionChangeEvent() constructor
newVersion
oldVersion
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Requires a vendor prefix or different name for use.
Has more compatibility info.

関連情報