PerformanceScriptTiming: toJSON() 方法

可用性有限

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

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

PerformanceScriptTiming 接口的 toJSON() 方法是一个 序列化器;它会返回 PerformanceScriptTiming 对象的 JSON 表示形式。

语法

js
toJSON()

参数

无。

返回值

一个 JSON 对象,表示 PerformanceScriptTiming 对象的序列化形式。

示例

使用 toJSON 方法

在此示例中,调用 entry.toJSON() 会返回在观察到的长动画帧中可用的第一个 PerformanceScriptTiming 对象的 JSON 表示形式。

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    console.log(entry.scripts[0].toJSON());
  });
});

observer.observe({ type: "long-animation-frame", buffered: true });

这将记录如下对象

js
({
  duration: 45,
  entryType: "script",
  executionStart: 11803.199999999255,
  forcedStyleAndLayoutDuration: 0,
  invoker: "DOMWindow.onclick",
  invokerType: "event-listener",
  name: "script",
  pauseDuration: 0,
  sourceURL: "https://webdev.ac.cn/js/index-ffde4443.js",
  sourceFunctionName: "myClickHandler",
  sourceCharPosition: 17796,
  startTime: 11803.199999999255,
  windowAttribution: "self",
});

要获取 JSON 字符串,您可以直接使用 JSON.stringify(entry);它会自动调用 toJSON()

规范

规范
Long Animation Frames API
# dom-performancescripttiming-tojson

浏览器兼容性

另见