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 API の IDBVersionChangeEvent
インターフェイスは、onupgradeneeded
イベントハンドラー関数の結果として、データベースのバージョンが変更されたことを表します。
メモ: この機能はウェブワーカー内で利用可能です。
コンストラクター
IDBVersionChangeEvent()
-
データベースのバージョンが変更されたことを表す新しい
IDBVersionChangeEvent
オブジェクトを作成して返します。
インスタンスプロパティ
親の Event
インターフェイスからもプロパティを継承します。
IDBVersionChangeEvent.oldVersion
読取専用-
データベースの古いバージョンを返します。
IDBVersionChangeEvent.newVersion
読取専用-
データベースの新しいバージョンを返します。
インスタンスメソッド
固有のメソッドはありませんが、親の Event
インターフェイスからメソッドを継承します。
例
以下のコードスニペットでは、データベースを開く要求をし、成功した場合と失敗した場合用のハンドラーを用意します。バージョンが変更された時 (upgradeneeded
イベントの後)、success
イベントは IDBVersionChangeEvent
インターフェイスを実装します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)
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
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キーの範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)