Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

js
addEventListener("upgradeneeded", (event) => { })

onupgradeneeded = (event) => { }

Ereignistyp

Ein IDBVersionChangeEvent. Erbt von Event.

Event IDBVersionChangeEvent

Ereigniseigenschaften

Erbt auch Eigenschaften von seinem Elternteil, der Event-Schnittstelle.

IDBVersionChangeEvent.oldVersion Schreibgeschützt

Gibt die alte Version der Datenbank zurück.

IDBVersionChangeEvent.newVersion Schreibgeschü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.

js
// 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.

js
// 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

Browser-Kompatibilität

Siehe auch