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 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:src
-
Eine URL-
String
der Bildquelle. 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 Symbols darstellt.
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