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 Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

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

Spezifikation
Service Workers Nightly
# windowclient

Browser-Kompatibilität

Siehe auch