PerformanceScriptTiming

可用性有限

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

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

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

描述

长动画帧 (LoAF) 是指渲染更新延迟超过 50ms。LoAF 会导致用户界面 (UI) 更新缓慢,使控件显得无响应,并导致动画效果和滚动出现 卡顿 (不流畅)。这通常会引起用户不满。

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

  • 每条脚本的详细时间戳集。
  • 调用者的标识和类型,即调用时运行脚本的特性。
  • 关于每个脚本源文件的详细信息,包括 URL,以及导致 LoAF 的函数名和字符位置。

PerformanceScriptTiming 继承自 PerformanceEntry

PerformanceEntry PerformanceScriptTiming

实例属性

此接口扩展了以下用于长动画帧性能条目的 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 对象的引用,该对象表示 LoAF 脚本执行所在容器(即顶级文档或 <iframe>)的 window

PerformanceScriptTiming.windowAttribution 只读 实验性

返回一个枚举值,描述 LoAF 脚本执行所在容器(即顶级文档或 <iframe>)与运行当前文档的窗口的关系。

实例方法

PerformanceScriptTiming.toJSON() 实验性

返回 PerformanceScriptTiming 对象的 JSON 表示形式。

示例

有关 Long Animation Frames API 的示例,请参阅 长动画帧计时

规范

规范
Long Animation Frames API
# sec-PerformanceScriptTiming

浏览器兼容性

另见