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

View in English Always switch to English

IDBVersionChangeEvent

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

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

ブラウザーの互換性

関連情報