ServiceWorkerGlobalScope: contentdelete 事件

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表格

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,在某些或所有 支持的浏览器 中可用。

注意:此功能仅在 服务工作者 中可用。

contentdelete 事件是 ServiceWorkerGlobalScope 接口的事件,当通过用户代理从索引内容中删除项目时触发。

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

语法

在方法(如 addEventListener())中使用事件名称,或设置事件处理程序属性。

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

oncontentdelete = (event) => {};

事件类型

事件属性

除了下面列出的属性外,此接口还继承了其父接口 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) => {
  // ...
};

规范

规范
内容索引
# dom-serviceworkerglobalscope-oncontentdelete

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅