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

View in English Always switch to English

IDBFactory: open() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2021⁩.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die open() Methode der IDBFactory Schnittstelle fordert das Öffnen einer Verbindung zu einer Datenbank an.

Die Methode gibt sofort ein IDBOpenDBRequest Objekt zurück und führt den Öffnungsvorgang asynchron aus. Wenn der Vorgang erfolgreich ist, wird ein success-Ereignis für das von dieser Methode zurückgegebene Anforderungsobjekt ausgelöst, dessen result-Attribut auf das neue IDBDatabase Objekt für die Verbindung gesetzt ist.

Kann upgradeneeded, blocked oder versionchange Ereignisse auslösen.

Syntax

js
open(name)
open(name, version)

Parameter

name

Der Name der Datenbank.

version Optional

Optional. Die Version, mit der die Datenbank geöffnet werden soll. Wenn die Version nicht angegeben wird und die Datenbank existiert, wird eine Verbindung zur Datenbank geöffnet, ohne deren Version zu ändern. Wenn die Version nicht angegeben wird und die Datenbank nicht existiert, wird sie mit Version 1 erstellt.

Rückgabewert

Ein IDBOpenDBRequest Objekt, bei dem nachfolgende Ereignisse im Zusammenhang mit dieser Anforderung ausgelöst werden.

Wenn der Vorgang erfolgreich ist, ist der Wert der result Eigenschaft des Anforderung das IDBDatabase Objekt, das die Verbindung zur Datenbank darstellt.

Ausnahmen

TypeError

Wird ausgelöst, wenn der Wert von version keine Zahl größer als Null ist.

Beispiele

Beispiel für das Aufrufen von open mit dem version Parameter der aktuellen Spezifikation:

js
const request = window.indexedDB.open("toDoList", 4);

Im folgenden Code-Snippet stellen wir eine Anfrage, um eine Datenbank zu öffnen, und fügen Handler für die Erfolgs- und Fehlerszenarien hinzu. Für ein vollständiges Arbeitsbeispiel siehe unsere To-do Notifications App (Beispiel live ansehen).

js
const note = document.querySelector("ul");

// Let us open version 4 of our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// these two event handlers act on the database being opened
// successfully, or not
DBOpenRequest.onerror = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Error loading database.";
};

DBOpenRequest.onsuccess = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Database initialized.";

  // store the result of opening the database in the db
  // variable. This is used a lot later on, for opening
  // transactions and suchlike.
  db = DBOpenRequest.result;
};

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbfactory-open②

Browser-Kompatibilität

Siehe auch