IDBVersionChangeEvent

IDBVersionChangeEvent interface of the IndexedDB API indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function.

注意: 此特征可用于 Web 工作者 .

特性

Also inherits properties from its parent, Method .

IDBVersionChangeEvent.oldVersion 只读
Returns the old version of the database.
IDBVersionChangeEvent.newVersion 只读
Returns the new version of the database.

弃用特性

IDBVersionChangeEvent.version 只读

The new version of the database in a versionchange transaction.

警告 : While this property is still implemented in older browsers, the latest specification replaces it with the oldVersion and newVersion attributes. See the compatibility table to know what browsers support them.

方法

No specific method, but inherits properties from its parent, Method .

范例

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. For a full working example, see our To-do Notifications app ( view example live .)

var note = document.querySelector("ul");
// In the following line, you should include the prefixes of implementations you want to test.
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
// DON'T use "var indexedDB = ..." if you're not in a function.
// Moreover, you may need references to some window.IDB* objects:
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
// (Mozilla has never prefixed these objects, so we don't need window.mozIDB*)
// Let us open version 4 of our database
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
// these two event handlers act on the database being opened successfully, or not
DBOpenRequest.onerror = function(event) {
  note.innerHTML += '<li>Error loading database.</li>';
};
DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Database initialised.</li>';
  // store the result of opening the database in the db variable. This is used a lot later on, for opening transactions and suchlike.
  db = DBOpenRequest.result;
};
					

规范

规范 状态 Comment
Indexed Database API 2.0
The definition of 'IDBVersionChangeEvent' in that specification.
Recommendation 初始定义。
Indexed Database API Draft
The definition of 'IDBVersionChangeEvent' in that specification.
Recommendation

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
IDBVersionChangeEvent Chrome 24
24
12
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge 12 Firefox 16
16
不支持 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE 部分支持 10 Opera 15 Safari 7 WebView Android Yes Chrome Android Yes Firefox Android 22 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
newVersion Chrome 24
24
不支持 23 — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge 12 Firefox 16
16
不支持 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE 部分支持 10 Opera 15 Safari 7 WebView Android Yes
Yes
不支持 ? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android 25
25
不支持 25 — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android 22 Opera Android 14 Safari iOS 8 Samsung Internet Android 1.5
1.5
不支持 1.5 — 7.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit
oldVersion Chrome 24
24
不支持 23 — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge 12 Firefox 16
16
不支持 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE 部分支持 10 Opera 15 Safari 7 WebView Android Yes
Yes
不支持 ? — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android 25
25
不支持 25 — 57
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android 22 Opera Android 14 Safari iOS 8 Samsung Internet Android 1.5
1.5
不支持 1.5 — 7.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit
version
弃用 非标
Chrome 12 Edge ≤18 Firefox 16
16
10
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE No Opera No Safari No WebView Android Yes Chrome Android 18 Firefox Android 22 Opera Android 22 Safari iOS No Samsung Internet Android 1.0
Available in workers Chrome Yes Edge ≤79 Firefox 37 IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android 37 Opera Android Yes Safari iOS ? Samsung Internet Android Yes

图例

完整支持
完整支持
部分支持
部分支持
不支持
不支持
兼容性未知
兼容性未知
非标。预期跨浏览器支持较差。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
弃用。不要用于新网站。
要求使用供应商前缀或不同名称。
要求使用供应商前缀或不同名称。

另请参阅