Performance: clearResourceTimings() 方法

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本使用。自 2017 年 9 月以来,它已在浏览器中提供。

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

clearResourceTimings() 方法会从浏览器的 performance timeline 中移除所有 entryType"resource" 的 performance entry,并将 performance resource data buffer 的大小设置为零。

要设置浏览器 performance resource data buffer 的大小,请使用 Performance.setResourceTimingBufferSize() 方法。

要接收浏览器资源时序缓冲区已满的通知,请监听 resourcetimingbufferfull 事件。

语法

js
clearResourceTimings()

参数

无。

返回值

无(undefined)。

示例

清除 performance resource data buffer

要从 buffer 中移除所有 resource performance entry,请在代码的适当位置调用 clearResourceTimings(),或者将其粘贴到控制台中。

js
performance.clearResourceTimings();
performance.getEntriesByType("resource").length; // 0

获取记录并清空 PerformanceObserver

在使用 PerformanceObserver 对象时(尤其是当 buffered 标志设置为 true 时),performance resource buffer 可能会很快被填满。但是,您也可以在不清除 buffer 的情况下,使用 PerformanceObserver.takeRecords() 方法来存储当前的 performance entry 列表并清空 performance observer。这适用于所有类型的 performance entry,而不仅仅是 "resource" entry。

js
function perfObserver(list, observer) {
  list.getEntries().forEach((entry) => {
    // do something with the entries
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ type: "resource", buffered: true });

// Store entries and empty performance observer
const records = observer.takeRecords();

规范

规范
资源时序
# dom-performance-clearresourcetimings

浏览器兼容性

另见