IDBOpenDBRequest

IDBOpenDBRequest interface of the IndexedDB API provides access to the results of requests to open or delete databases (performed using IDBFactory.open and IDBFactory.deleteDatabase ), using specific event handler attributes.

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

特性

Also inherits methods from its parents IDBRequest and EventTarget .

方法

No methods, but inherits methods from its parents IDBRequest and EventTarget .

Events

监听这些事件使用 addEventListener() 或通过把事件监听器赋值给 on eventname 特性为此接口。

blocked
Fired when an open connection to a database is blocking a versionchange transaction on the same database. Also available via the onblocked 特性。
upgradeneeded
Fired when an attempt was made to open a database with a version number higher than its current version. Also available via the onupgradeneeded 特性。

范例

In the following example you can see the onupgradeneeded handler being used to update the database structure if a database with a higher version number is loaded. For a full working example, see our To-do Notifications app ( view example live .)

var db;
// Let us open our database
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
// these event handlers act on the database being opened.
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 below
  db = DBOpenRequest.result;
  // Run the displayData() function to populate the task
  // listwith all the to-do list data already in the IDB
  displayData();
};
// This event handles the event whereby a new version of
// the database needs to be created Either one has not
// been created before, or a new version number has been
// submitted via the window.indexedDB.open line above
// it is only implemented in recent browsers
DBOpenRequest.onupgradeneeded = function(event) {
  var db = this.result;
  db.onerror = function(event) {
    note.innerHTML += '<li>Error loading database.</li>';
  };
  // Create an objectStore for this database
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
  // define what data items the objectStore will contain
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
  objectStore.createIndex("notified", "notified", { unique: false });
};
					

规范

规范 状态 Comment
Indexed Database API 2.0
The definition of 'IDBOpenDBRequest' in that specification.
Recommendation 初始定义
Indexed Database API Draft
The definition of 'IDBOpenDBRequest' 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
IDBOpenDBRequest 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
blocked event 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
onblocked 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
onupgradeneeded 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
upgradeneeded event 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
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

图例

完整支持
完整支持
部分支持
部分支持
兼容性未知
兼容性未知
要求使用供应商前缀或不同名称。
要求使用供应商前缀或不同名称。

另请参阅