ServiceWorkerGlobalScope: contentdelete 事件

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

ServiceWorkerGlobalScope 介面的 contentdelete 事件在使用者代理透過 ID 從內容索引中移除一項時觸發。

此事件不可取消,也不會冒泡。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("contentdelete", (event) => { })

oncontentdelete = (event) => { }

事件型別

一個 ContentIndexEvent。繼承自 Event

Event ExtendableEvent ContentIndexEvent

事件屬性

除了下面列出的屬性外,此介面還繼承了其父介面 Event 的屬性。

id 只讀

一個字串,透過其 id 標識被刪除的內容索引。

示例

以下示例使用 contentdelete 事件處理程式來移除與被刪除索引項相關的快取內容。

js
self.addEventListener("contentdelete", (event) => {
  const deletion = caches
    .open("cache-name")
    .then((cache) =>
      Promise.all([
        cache.delete(`/icon/${event.id}`),
        cache.delete(`/content/${event.id}`),
      ]),
    );
  event.waitUntil(deletion);
});

您也可以透過 oncontentdelete 屬性設定事件處理程式

js
self.oncontentdelete = (event) => {
  // …
};

規範

規範
Content Index
# dom-serviceworkerglobalscope-oncontentdelete

瀏覽器相容性

另見