IDBVersionChangeEvent
接口在
IndexedDB API
indicates that the version of the database has changed, as the result of an
IDBOpenDBRequest.onupgradeneeded
event handler function.
Also inherits properties from its parent,
方法
.
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,
方法
.
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
待办通知
app (
实时查看范例
)。
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;
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
索引数据库 API 2.0
The definition of 'IDBVersionChangeEvent' in that specification. |
推荐 | 初始定义。 |
|
索引数据库 API 草案
The definition of 'IDBVersionChangeEvent' in that specification. |
推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDBVersionChangeEvent
|
Chrome
24
|
Edge 12 |
Firefox
16
|
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
|
Edge 12 |
Firefox
16
|
IE 部分支持 10 | Opera 15 | Safari 7 |
WebView Android
Yes
|
Chrome Android
25
|
Firefox Android 22 | Opera Android 14 | Safari iOS 8 |
Samsung Internet Android
1.5
|
oldVersion
|
Chrome
24
|
Edge 12 |
Firefox
16
|
IE 部分支持 10 | Opera 15 | Safari 7 |
WebView Android
Yes
|
Chrome Android
25
|
Firefox Android 22 | Opera Android 14 | Safari iOS 8 |
Samsung Internet Android
1.5
|
version
弃用
非标
|
Chrome 12 | Edge ≤18 |
Firefox
16
|
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 |
完整支持
部分支持
不支持
兼容性未知
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
要求使用供应商前缀或不同名称。
IDBDatabase
IDBTransaction
IDBKeyRange
IDBObjectStore
IDBCursor
IDBVersionChangeEvent
IDBCursor
IDBCursorSync
IDBCursorWithValue
IDBDatabase
IDBDatabaseException
IDBDatabaseSync
IDBEnvironment
IDBEnvironmentSync
IDBFactory
IDBFactorySync
IDBIndex
IDBIndexSync
IDBKeyRange
IDBObjectStore
IDBObjectStoreSync
IDBOpenDBRequest
IDBRequest
IDBTransaction
IDBTransactionSync
IDBVersionChangeRequest