The close
event is fired on IDBDatabase
when the database connection is unexpectedly closed. This could happen, for example, if the underlying storage is removed or if the user clears the database in the browser's history preferences.
Note that it is not fired if the database connection is closed normally using IDBDatabase.close()
.
Bubbles | No |
Cancelable | No |
Interface | Event
|
Event handler property | onerror
|
Examples
This example opens a database and listens for the close
event:
// Open the database
const dBOpenRequest = window.indexedDB.open('toDoList', 4);
dBOpenRequest.onupgradeneeded = (event) => {
const db = event.target.result;
// 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) => {
const db = dBOpenRequest.result;
db.addEventListener('close', () => {
console.log('Database connection closed');
});
};
The same example, using the onclose
property instead of addEventListener()
:
// Open the database
const dBOpenRequest = window.indexedDB.open('toDoList', 4);
dBOpenRequest.onupgradeneeded = (event) => {
const db = event.target.result;
// 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) => {
const db = dBOpenRequest.result;
db.onclose = () => {
console.log('Database connection closed');
};
};
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
close event
|
Chrome
Full support 31 |
Edge
Full support ≤18 |
Firefox
Full support 50 |
IE
? |
Opera
Full support Yes |
Safari
Full support 10.1 |
WebView Android
Full support Yes |
Chrome Android
Full support 31 |
Firefox Android
Full support 50 |
Opera Android
Full support Yes |
Safari iOS
Full support 10.3 |
Samsung Internet Android
Full support 2.0 |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
See also
- Using IndexedDB
onclose
event handler property
IDBDatabase: close event by Mozilla Contributors is licensed under CC-BY-SA 2.5.