WindowClient: visibilityState 屬性

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

注意:此功能僅在 Service Workers 中可用。

visibilityStateWindowClient 介面的只讀屬性,它指示當前客戶端的可見性。該值可以是 "hidden""visible""prerender" 之一。

一個字串(參見 Document.visibilityState 以獲取值)。

示例

js
event.waitUntil(
  clients
    .matchAll({
      type: "window",
    })
    .then((clientList) => {
      for (const client of clientList) {
        if (client.url === "/" && "focus" in client) {
          if (client.visibilityState === "hidden") return client.focus();
        }
      }
      if (clients.openWindow) {
        return clients.openWindow("/");
      }
    }),
);

規範

規範
Service Workers
# client-visibilitystate

瀏覽器相容性