IDBIndex: locale Eigenschaft
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.
Die schreibgeschützte Eigenschaft locale
der Schnittstelle IDBIndex
gibt den Ländercode des Indexes zurück (z. B. en-US
oder pl
), wenn beim Erstellen ein locale
-Wert angegeben wurde (siehe den options
Parameter in IDBObjectStore.createIndex()
). Beachten Sie, dass diese Eigenschaft immer den aktuell in diesem Index verwendeten Ländercode zurückgibt, mit anderen Worten, sie gibt niemals "auto"
zurück.
Wert
Ein String.
Beispiele
Im folgenden Beispiel öffnen wir eine Transaktion und einen Objektspeicher und erhalten dann den Index lName
aus einer einfachen Kontaktdatenbank. Wir öffnen dann einen einfachen Cursor auf dem Index mit IDBIndex.openCursor
— dies funktioniert genauso wie das direkte Öffnen eines Cursors auf einem ObjectStore
mit IDBObjectStore.openCursor
, außer dass die zurückgegebenen Datensätze basierend auf dem Index und nicht auf dem Primärschlüssel sortiert sind.
Der locale
-Wert wird in der Konsole protokolliert.
function displayDataByIndex() {
tableEntry.textContent = "";
const transaction = db.transaction(["contactsList"], "readonly");
const objectStore = transaction.objectStore("contactsList");
const myIndex = objectStore.index("lName");
console.log(myIndex.locale);
myIndex.openCursor().onsuccess = (event) => {
const cursor = event.target.result;
if (cursor) {
const tableRow = document.createElement("tr");
for (const cell of [
cursor.value.id,
cursor.value.lName,
cursor.value.fName,
cursor.value.jTitle,
cursor.value.company,
cursor.value.eMail,
cursor.value.phone,
cursor.value.age,
]) {
const tableCell = document.createElement("td");
tableCell.textContent = cell;
tableRow.appendChild(tableCell);
}
tableEntry.appendChild(tableRow);
cursor.continue();
} else {
console.log("Entries all displayed.");
}
};
}
Spezifikationen
Derzeit nicht Teil einer Spezifikation.
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- IndexedDB verwenden
- Transaktionen starten:
IDBDatabase
- Transaktionen verwenden:
IDBTransaction
- Einen Schlüsselbereich festlegen:
IDBKeyRange
- Ihre Daten abrufen und ändern:
IDBObjectStore
- Cursors verwenden:
IDBCursor
- Referenzbeispiel: To-do-Benachrichtigungen (Das Beispiel live ansehen).