PerformanceResourceTiming:contentType 属性

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

contentTypePerformanceResourceTiming 接口的一个只读属性,它是一个字符串,指示获取的资源的内容类型,格式为 MIME 类型 和子类型,由斜杠分隔。

内容类型是从资源获取响应中发送的 Content-Type HTTP 标头中提取的 MIME 类型的最小化和“标准化”版本。对于 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) => {
    return entry.contentType === "text/javascript";
  });
  console.log(javascriptResources);
});

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

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

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

规范

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

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。