WindowClient

Hinweis: Dieses Feature ist nur verfügbar in Service Workers.

Das WindowClient-Interface der ServiceWorker API repräsentiert den Bereich eines Service Worker-Clients, der ein Dokument in einem Browsing-Kontext ist und von einem aktiven Worker gesteuert wird. Der Service Worker-Client wählt und verwendet unabhängig einen Service Worker für das eigene Laden und die Subressourcen.

Client WindowClient

Instanzmethoden

WindowClient erbt Methoden von seiner übergeordneten Schnittstelle, Client.

WindowClient.focus()

Gibt dem aktuellen Client den Benutzereingabe-Fokus.

WindowClient.navigate()

Lädt eine angegebene URL in eine gesteuerte Client-Seite.

Instanzeigenschaften

WindowClient erbt Eigenschaften von seiner übergeordneten Schnittstelle, Client.

WindowClient.ancestorOrigins Nur lesbar Experimentell

Ein Array von Zeichenfolgen, das die Vorfahrenherkünfte des Browsing-Kontextes anzeigt, der durch dieses WindowClient in umgekehrter Reihenfolge dargestellt wird.

WindowClient.focused Nur lesbar

Ein boolescher Wert, der angibt, ob der aktuelle Client den Fokus hat.

WindowClient.visibilityState Nur lesbar

Gibt die Sichtbarkeit des aktuellen Clients an. Dieser Wert kann "hidden", "visible" oder "prerender" sein.

Beispiel

js
self.addEventListener("notificationclick", (event) => {
  console.log("On notification click: ", event.notification.tag);
  event.notification.close();

  // This looks to see if the current is already open and
  // focuses if it is
  event.waitUntil(
    clients
      .matchAll({
        type: "window",
      })
      .then((clientList) => {
        for (const client of clientList) {
          if (client.url === "/" && "focus" in client) {
            client.focus();
            break;
          }
        }
        if (clients.openWindow) return clients.openWindow("/");
      }),
  );
});

Spezifikationen

Specification
Service Workers
# windowclient

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch