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

浏览器兼容性

另见