ContentIndex: add()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 add()-Methode der ContentIndex-Schnittstelle registriert ein Element im Content Index.
Syntax
add(contentDescription)
Parameter
contentDescription-
Ein
Objectmit den folgenden Daten:id-
Ein eindeutiger
String-Bezeichner. title-
Ein
String-Titel für das Element. Wird in für den Nutzer sichtbaren Inhaltslisten verwendet. description-
Eine
String-Beschreibung des Elements. Wird in für den Nutzer sichtbaren Inhaltslisten verwendet. url-
Ein
Stringmit der URL des entsprechenden HTML-Dokuments. Muss unter dem Geltungsbereich des aktuellen Service Workers liegen. categoryOptional-
Ein
Stringzur Definition der Inhaltkategorie. Kann sein:''Ein leererString, dies ist die Standardeinstellung.homepagearticlevideoaudio
iconsOptional-
Ein
Arrayvon Bildressourcen, definiert als einObjectmit den folgenden Daten:src-
Eine URL-
Stringder Quellbildes. sizesOptional-
Eine
String-Darstellung der Bildgröße. typeOptional-
Der MIME-Typ des Bildes.
labelOptional-
Ein String, der den zugänglichen Namen des Symbols darstellt.
Rückgabewert
Gibt ein Promise zurück, das mit undefined aufgelöst wird.
Ausnahmen
TypeError-
Diese Ausnahme wird unter den folgenden Bedingungen ausgelöst:
- Die Registrierung des Service Workers ist nicht vorhanden oder der Service Worker enthält kein
FetchEvent. - Einer der
id,title,descriptionoderurl-Parameter fehlt, ist keinString, oder ein leererString. - Der
url-Parameter entspricht nicht der Same-Origin-Policy mit dem Service Worker. - Einer der Einträge in
iconsist kein Bildtyp, oder das Abrufen eines der Einträge iniconsist aufgrund eines Netzwerk- oder Dekodierungsfehlers fehlgeschlagen.
- Die Registrierung des Service Workers ist nicht vorhanden oder der Service Worker enthält kein
Beispiele
Hier deklarieren wir ein Element im korrekten Format und erstellen eine asynchrone Funktion, die die add-Methode verwendet, um es im Content Index zu registrieren.
// our content
const item = {
id: "post-1",
url: "/posts/amet.html",
title: "Amet consectetur adipisicing",
description:
"Repellat et quia iste possimus ducimus aliquid a aut eaque nostrum.",
icons: [
{
src: "/media/dark.png",
sizes: "128x128",
type: "image/png",
},
],
category: "article",
};
// our asynchronous function to add indexed content
async function registerContent(data) {
const registration = await navigator.serviceWorker.ready;
// feature detect Content Index
if (!registration.index) {
return;
}
// register content
try {
await registration.index.add(data);
} catch (e) {
console.log("Failed to register content: ", e.message);
}
}
Die add-Methode kann auch im Scope des Service Workers verwendet werden.
// our content
const item = {
id: "post-1",
url: "/posts/amet.html",
title: "Amet consectetur adipisicing",
description:
"Repellat et quia iste possimus ducimus aliquid a aut eaque nostrum.",
icons: [
{
src: "/media/dark.png",
sizes: "128x128",
type: "image/png",
},
],
category: "article",
};
self.registration.index.add(item);
Spezifikationen
| Specification |
|---|
| Content Index> # content-index-add> |
Browser-Kompatibilität
Loading…