IDBVersionChangeEvent - 表示数据库的版本已更改的事件

IDBVersionChangeEventIndexedDB API 的接口,表示数据库的版本已更改的事件,更改是 IDBOpenDBRequest.onupgradeneeded 事件处理函数的结果。

注意: 此特性在 Web Worker 中可用。

属性

还从其父接口 Event 继承了属性。

IDBVersionChangeEvent.oldVersion 只读

返回数据库的旧版本。

IDBVersionChangeEvent.newVersion 只读

返回数据库的新版本。

废弃的属性

IDBVersionChangeEvent.version 只读

versionchange 事务中数据库的新版本。

警告:虽然此属性仍在旧版浏览器中实现,但最新的规范将其替换为 oldVersionnewVersion 属性。请参阅兼容性表以了解哪些浏览器支持它们。

方法

没有特有的方法,但从其父接口 Event 继承属性。

实例

在下面的代码片段中,我们发出打开数据库的请求,并包含成功和错误情况的处理程序。在版本更改后(在 upgradedneeded 事件之后), success 事件将实现 IDBVersionChangeEvent 接口。

In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. Upon a version change (after an upgradedneeded event), the success event will implement the IDBVersionChangeEvent interface.有关完整的工作实例,请参阅我们的待办事项通知应用程序(查看在线实例。)

var note = document.querySelector("ul");

// 在下一行中,您应该测试出实现 indexedDB 的前缀。
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
// 如果不在函数中,请不要使用 “var indexedDB = ...”。
// 此外,您可能需要引用一些 window.IDB* 对象:
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
// (Mozilla 从未为这些对象添加前缀,因此我们不需要使用 window.mozIDB*)

// 让我们打开版本 4 的数据库
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// 这两个事件处理程序用于当数据库成功/失败打开时,对数据库进行操作
DBOpenRequest.onerror = function(event) {
  note.innerHTML += '<li>加载数据库错误。</li>';
};

DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>数据库已初始化。</li>';

  // 存储在 db 变量中打开数据库的结果。这在后续会多处使用,用于打开交易等。
  db = DBOpenRequest.result;
};

规范

规范 状态 备注
Indexed Database API
IDBVersionChangeEvent 的定义
推荐 初始定义。
Indexed Database API 2.0
IDBVersionChangeEvent 的定义
编者的草案 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持

24

23 webkit

未知

16

10 — 16 moz

101157
Available in workers 支持 未知37 未知 支持 未知
newVersion

24

23 — 57 webkit

12

16

10 — 16 moz

101157
oldVersion

24

23 — 57 webkit

12

16

10 — 16 moz

101157
version12 支持

4

9 moz

不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知22 未知 未知 未知
Available in workers 支持 支持 支持37 未知 支持 未知
newVersion

24

23 — 57 webkit

24

23 — 57 webkit

支持22 未知228
oldVersion

24

23 — 57 webkit

24

23 — 57 webkit

支持22 未知228
version 支持4.4 支持22 未知22 不支持

1. 部分的

相关链接