Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WindowClient

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2018⁩.

* Some parts of this feature may have varying levels of support.

Hinweis: Diese Funktion ist nur in Service Workers verfügbar.

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

Client WindowClient

Instanzmethoden

WindowClient erbt Methoden von seinem Eltern-Interface, Client.

WindowClient.focus()

Gibt dem aktuellen Client den Benutzereingabefokus.

WindowClient.navigate()

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

Instanzeigenschaften

WindowClient erbt Eigenschaften von seinem Eltern-Interface, Client.

WindowClient.ancestorOrigins Schreibgeschützt Experimentell

Ein Array von Zeichenfolgen, das die Vorfahrenursprünge des vom WindowClient dargestellten Browsing-Kontexts in umgekehrter Reihenfolge angibt.

WindowClient.focused Schreibgeschützt

Ein Boolean, der angibt, ob der aktuelle Client den Fokus hat.

WindowClient.visibilityState Schreibgeschützt

Gibt die Sichtbarkeit des aktuellen Clients an. Dieser Wert kann "hidden" oder "visible" 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

Siehe auch