The blocked handler is executed when an open connection to a database is blocking a versionchange transaction on the same database.
This event is not cancelable and does not bubble.
The blocked handler is executed when an open connection to a database is blocking a versionchange transaction on the same database.
This event is not cancelable and does not bubble.
Use the event name in methods like addEventListener(), or set an event handler property.
js
addEventListener("blocked", (event) => {}); onblocked = (event) => {};
An IDBVersionChangeEvent. Inherits from Event.
Also inherits properties from its parent, Event interface.
IDBVersionChangeEvent.oldVersion Read only
Returns the old version of the database.
IDBVersionChangeEvent.newVersion Read only
Returns the new version of the database.
Using addEventListener():
js
// Open the database const DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log("Error creating database"); }; // Create an objectStore for this database const 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 }); }; DBOpenRequest.onsuccess = (event) => { // Let's try to open the same database with a higher revision version const req2 = indexedDB.open("toDoList", 5); // In this case the onblocked handler will be executed req2.addEventListener("blocked", () => { console.log("Request was blocked"); }); };
Using the onblocked property:
js
// Open the database const DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log("Error creating database"); }; // Create an objectStore for this database const 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 }); }; DBOpenRequest.onsuccess = (event) => { // Let's try to open the same database with a higher revision version const req2 = indexedDB.open("toDoList", 5); // In this case the onblocked handler will be executed req2.onblocked = () => { console.log("Request was blocked"); }; };
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
blocked_event |
23 | 12 | 10 | 10 | 15 | 8 | 4.4 | 25 | 22 | 14 | 8 | 1.5 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBOpenDBRequest/blocked_event