PerformanceScriptTiming

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

PerformanceScriptTiming 接口在 Long Animation Frames API 中定义,并提供有关导致长动画帧 (LoAF) 的单个脚本的指标。

描述

长动画帧 (LoAF) 是渲染更新,这些更新延迟超过 50 毫秒。LoAF 会导致用户界面 (UI) 更新缓慢,使控件看起来无响应,并导致 卡顿 (不流畅) 的动画效果和滚动。这通常会导致用户沮丧。

PerformanceScriptTiming 接口 (通过 PerformanceLongAnimationFrameTiming.scripts 属性访问其实例) 提供有关导致 LoAF 的单个脚本的以下细粒度信息集,使开发人员能够缩小其根本原因范围

  • 每个脚本的一组详细时间戳。
  • 调用者的身份和类型,即调用时运行脚本的功能。
  • 有关每个脚本源文件 (包括 URL、导致 LoAF 的函数名称和字符位置) 的详细信息。

继承

实例属性

此接口扩展了以下 PerformanceEntry 属性,用于长动画帧性能条目

PerformanceEntry.duration 只读 实验性

返回一个 DOMHighResTimeStamp,以毫秒为单位表示脚本执行开始和结束之间的经过时间。

PerformanceEntry.entryType 只读 实验性

返回条目类型,始终为 "script"

PerformanceEntry.name 只读 实验性

返回条目名称,始终为 "script"

PerformanceEntry.startTime 只读 实验性

返回一个 DOMHighResTimeStamp,以毫秒为单位表示脚本执行开始的时间。

此接口还支持以下属性

PerformanceScriptTiming.executionStart 只读 实验性

返回一个 DOMHighResTimeStamp,表示脚本编译完成并开始执行的时间。

PerformanceScriptTiming.forcedStyleAndLayoutDuration 只读 实验性

返回一个 DOMHighResTimeStamp,表示脚本处理强制布局/样式所花费的总时间 (以毫秒为单位)。有关导致这种情况的原因,请参阅 避免布局抖动

PerformanceScriptTiming.invoker 只读 实验性

返回一个字符串值,表示调用时运行脚本的功能的身份。

PerformanceScriptTiming.invokerType 只读 实验性

返回一个字符串值,表示调用时运行脚本的功能的类型。

PerformanceScriptTiming.pauseDuration 只读 实验性

返回一个 DOMHighResTimeStamp,表示脚本在“暂停”同步操作 (例如 Window.alert() 调用或同步 XMLHttpRequest) 上花费的总时间 (以毫秒为单位)。

PerformanceScriptTiming.sourceCharPosition 只读 实验性

返回一个数字,表示导致 LoAF 的脚本特性的脚本字符位置。

PerformanceScriptTiming.sourceFunctionName 只读 实验性

返回一个字符串,表示导致 LoAF 的函数名称。

PerformanceScriptTiming.sourceURL 只读 实验性

返回一个字符串,表示脚本的 URL。

PerformanceScriptTiming.window 只读 实验性

返回一个指向 Window 对象的引用,该对象表示包含(即顶级文档或 <iframe>)导致 LoAF 的脚本执行的窗口。

PerformanceScriptTiming.windowAttribution 只读 实验性

返回一个枚举值,描述包含(即顶级文档或 <iframe>)导致 LoAF 的脚本执行的容器相对于运行当前文档的窗口的关系。

实例方法

PerformanceScriptTiming.toJSON() 实验性

返回 PerformanceScriptTiming 对象的 JSON 表示。

示例

有关长期动画帧 API 的示例,请参见 长期动画帧计时

规范

规范
长期动画帧 API
# sec-PerformanceScriptTiming

浏览器兼容性

BCD 表格只在浏览器中加载

另请参阅