IDBVersionChangeEvent

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

IDBVersionChangeEvent 接口是 IndexedDB API 的一部分,表示数据库的版本已更改,这是由 onupgradeneeded 事件处理函数触发的。

Event IDBVersionChangeEvent

构造函数

IDBVersionChangeEvent()

创建一个并返回一个新的 IDBVersionChangeEvent 对象,用于表示数据库版本已更改。

实例属性

也继承自其父接口 Event 的属性。

IDBVersionChangeEvent.oldVersion 只读

返回数据库的旧版本。

IDBVersionChangeEvent.newVersion 只读

返回数据库的新版本。

实例方法

没有特定方法,但继承了其父接口 Event 的方法。

示例

在以下代码片段中,我们发出一个打开数据库的请求,并包含成功和错误情况的处理程序。在版本更改后(在 upgradeneeded 事件之后),success 事件将实现 IDBVersionChangeEvent 接口。完整的可运行示例,请参阅我们的 To-do Notifications 应用(在线查看示例)。

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

// Let us open version 4 of our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// these two event handlers act on the database being opened successfully, or not
DBOpenRequest.onerror = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Error loading database.";
};

DBOpenRequest.onsuccess = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Database initialized.";

  // store the result of opening the database in the db variable. This is used a lot later on, for opening transactions and suchlike.
  const db = DBOpenRequest.result;
};

规范

规范
Indexed Database API 3.0
# events

浏览器兼容性

另见