PerformanceResourceTiming: contentType 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

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

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

PerformanceResourceTiming 接口的只读属性 contentType 是一个字符串,表示已获取资源的 MIME 类型,格式为以斜杠分隔的 MIME 类型 和子类型。

此内容类型是 MIME 类型的精简和“标准化”版本,该 MIME 类型从资源获取响应中发送的 Content-Type HTTP 标头中提取。对于 JavaScript、JSON、SVG 和 XML,MIME 类型会被替换为代表性的 MIME 类型/子类型字符串。浏览器支持的其他类型则由标头中的 MIME 类型/子类型字符串表示(标头中的其他信息将被丢弃)。

一个字符串,表示内容的 MIME 类型“本质”。这可能是以下值之一:

text/javascript

JavaScript 内容。

application/json

JSON 内容。

image/svg+xml

SVG 内容。

application/xml

XML 内容(SVG 除外)。

MIME 类型/子类型

用户代理支持的任何其他 MIME 类型/子类型。

""(空字符串)

当 MIME 类型不受浏览器支持时,或当资源获取因 CORS 检查而失败时返回。

示例

过滤资源

contentType 属性可用于仅获取特定的资源计时条目;例如,仅获取与脚本相关的条目。

以下示例使用 PerformanceObserver 来通知新记录在浏览器性能时间线中的 resource 性能条目。buffered 选项用于访问观察者创建之前的条目。

js
const observer = new PerformanceObserver((list) => {
  const javascriptResources = list
    .getEntries()
    .filter((entry) => entry.contentType === "text/javascript");
  console.log(javascriptResources);
});

observer.observe({ type: "resource", buffered: true });

以下示例使用 Performance.getEntriesByType(),它仅显示在调用方法时存在于浏览器性能时间线中的 resource 性能条目。

js
const scripts = performance
  .getEntriesByType("resource")
  .filter((entry) => entry.contentType === "text/javascript");
console.log(scripts);

规范

规范
资源时序
# dom-performanceresourcetiming-contenttype

浏览器兼容性