ContentIndex: getAll() Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die getAll()
-Methode des ContentIndex
-Interfaces gibt ein Promise
zurück, das mit einer iterierbaren Liste von Inhaltsindexeinträgen aufgelöst wird.
Syntax
getAll()
Parameter
Keine.
Rückgabewert
Gibt ein Promise
zurück, das mit einem Array
von contentDescription
-Elementen aufgelöst wird.
contentDescription
-
Jedes zurückgegebene Element ist ein
Object
mit den folgenden Daten:id
-
Ein eindeutiger
String
-Bezeichner. title
-
Ein
String
-Titel des Elements. Wird in benutzerfreundlichen Inhaltslisten verwendet. description
-
Eine
String
-Beschreibung des Elements. Wird in benutzerfreundlichen Inhaltslisten verwendet. url
-
Ein
String
mit der URL des entsprechenden HTML-Dokuments. Muss im Bereich des aktuellen Service Workers liegen. category
Optional-
Ein
String
, das die Kategorie des Inhalts definiert. Kann sein:''
Ein leererString
, dies ist der Standard.homepage
article
video
audio
icons
Optional-
Ein
Array
von Bildressourcen, definiert als einObject
mit den folgenden Daten:src
-
Eine URL-
String
der Quelldatei. sizes
Optional-
Eine
String
-Darstellung der Bildgröße. type
Optional-
Der MIME-Typ des Bildes.
label
Optional-
Ein String, der den zugänglichen Namen des Icons darstellt.
Ausnahmen
Es werden keine Ausnahmen ausgelöst. Wenn keine Elemente im Inhaltsindex vorhanden sind, wird ein leeres Array
zurückgegeben.
Beispiele
Das folgende Beispiel zeigt eine asynchrone Funktion, die Elemente aus dem Inhaltsindex abruft und über jeden Eintrag iteriert, um eine Liste für die Schnittstelle zu erstellen.
async function createReadingList() {
// access our service worker registration
const registration = await navigator.serviceWorker.ready;
// get our index entries
const entries = await registration.index.getAll();
// create a containing element
const readingListElem = document.createElement("div");
// test for entries
if (entries.length === 0) {
// if there are no entries, display a message
const message = document.createElement("p");
message.innerText =
"You currently have no articles saved for offline reading.";
readingListElem.append(message);
} else {
// if entries are present, display in a list of links to the content
const listElem = document.createElement("ul");
for (const entry of entries) {
const listItem = document.createElement("li");
const anchorElem = document.createElement("a");
anchorElem.innerText = entry.title;
anchorElem.setAttribute("href", entry.url);
listElem.append(listItem);
}
readingListElem.append(listElem);
}
}
Spezifikationen
Specification |
---|
Content Index # content-index-getall |
Browser-Kompatibilität
BCD tables only load in the browser