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

js
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 leerer String, dies ist die Standardeinstellung.
  • homepage
  • article
  • video
  • audio
icons Optional

Ein Array von Bildressourcen, definiert als ein Object 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 oder url-Parameter fehlt, ist kein String, oder ein leerer String.
  • 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 in icons ist aufgrund eines Netzwerk- oder Dekodierungsfehlers fehlgeschlagen.

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.

js
// 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.

js
// 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

Siehe auch