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.

Die WindowClient-Schnittstelle der ServiceWorker API repräsentiert einen Service-Worker-Client, der ein Dokument in einem Browsing-Kontext ist und von einem aktiven Worker gesteuert wird. Der Service-Worker-Client wählt unabhängig einen Service Worker aus und verwendet ihn zum Laden seiner eigenen Inhalte und Unterressourcen.

Client WindowClient

Instanzeigenschaften

WindowClient erbt Eigenschaften von seiner übergeordneten Schnittstelle Client.

WindowClient.ancestorOrigins Schreibgeschützt

Ein Array von Zeichenfolgen, das die Origins der übergeordneten Browsing-Kontexte des durch diesen WindowClient repräsentierten Browsing-Kontexts in umgekehrter Reihenfolge angibt.

WindowClient.focused Schreibgeschützt

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

WindowClient.visibilityState Schreibgeschützt

Gibt die Sichtbarkeit des aktuellen Clients an. Der Wert kann "hidden" oder "visible" sein.

Instanzmethoden

WindowClient erbt Methoden von seiner übergeordneten Schnittstelle Client.

WindowClient.focus()

Setzt den Eingabefokus auf den aktuellen Client.

WindowClient.navigate()

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

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