IDBOpenDBRequest: upgradeneeded Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Das upgradeneeded Ereignis wird ausgelöst, wenn versucht wurde, eine Datenbank mit einer höheren Versionsnummer als der aktuellen Version zu öffnen.
Dieses Ereignis kann nicht abgebrochen werden und ist nicht durchsickerbar.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("upgradeneeded", (event) => { })
onupgradeneeded = (event) => { }
Ereignistyp
Ein IDBVersionChangeEvent. Erbt von Event.
Ereigniseigenschaften
Erbt auch Eigenschaften von seinem Elternteil, der Event-Schnittstelle.
IDBVersionChangeEvent.oldVersionSchreibgeschützt-
Gibt die alte Version der Datenbank zurück.
IDBVersionChangeEvent.newVersionSchreibgeschützt-
Gibt die neue Version der Datenbank zurück.
Beispiele
Dieses Beispiel öffnet eine Datenbank und behandelt das upgradeneeded Ereignis, indem es alle notwendigen Aktualisierungen im Objekt-Store vornimmt.
// Open the database
const dBOpenRequest = window.indexedDB.open("toDoList", 4);
dBOpenRequest.addEventListener("upgradeneeded", (event) => {
const db = event.target.result;
console.log(`Upgrading to version ${db.version}`);
// 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 });
});
Dies ist dasselbe Beispiel, verwendet jedoch die onupgradeneeded Ereignis-Handler-Eigenschaft.
// Open the database
const dBOpenRequest = window.indexedDB.open("toDoList", 4);
dBOpenRequest.onupgradeneeded = (event) => {
const db = event.target.result;
console.log(`Upgrading to version ${db.version}`);
// 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 });
};
Spezifikationen
| Spezifikation |
|---|
| Indexed Database API 3.0> # eventdef-idbopendbrequest-upgradeneeded> |