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
Object
mit 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
String
mit der URL des entsprechenden HTML-Dokuments. Muss unter dem Geltungsbereich des aktuellen Service Workers liegen. category
Optional-
Ein
String
zur Definition der Inhaltkategorie. Kann sein:''
Ein leererString
, dies ist die Standardeinstellung.homepage
article
video
audio
icons
Optional-
Ein
Array
von Bildressourcen, definiert als einObject
mit den folgenden Daten:src
-
Eine URL-
String
der Quellbildes. 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 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
,description
oderurl
-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
icons
ist kein Bildtyp, oder das Abrufen eines der Einträge inicons
ist 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 |