ContentIndex: add()-Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die add()
-Methode der ContentIndex
-Schnittstelle registriert ein Element im Inhaltsindex.
Syntax
add(contentDescription)
Parameter
contentDescription
-
Ein
Object
mit den folgenden Daten:id
-
Ein eindeutiger
String
-Bezeichner. title
-
Ein
String
-Titel für das Element. Wird in für Benutzer sichtbaren Inhaltslisten verwendet. description
-
Eine
String
-Beschreibung des Elements. Wird in für Benutzer sichtbaren Inhaltslisten verwendet. url
-
Ein
String
mit der URL des entsprechenden HTML-Dokuments. Muss im Geltungsbereich des aktuellen Service Workers liegen. category
Optional-
Ein
String
, das die Kategorie des Inhalts definiert. Kann sein:''
Ein leererString
, dies ist der Standardwert.homepage
article
video
audio
icons
Optional-
Ein
Array
von Bildressourcen, definiert als einObject
mit den folgenden Daten:
Rückgabewert
Gibt ein Promise
zurück, das sich mit undefined
auflöst.
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 Parameter
id
,title
,description
oderurl
fehlt, ist nicht vom TypString
oder ein leererString
. - Der
url
-Parameter entspricht nicht der Same-Origin-Policy mit dem Service Worker. - Eines der Elemente in
icons
ist kein Bildtyp, oder beim Abrufen eines der Elemente inicons
trat ein Netzwerkfehler oder ein Dekodierungsfehler auf.
- 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 Inhaltsindex 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 Geltungsbereich 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
BCD tables only load in the browser