PerformanceScriptTiming
PerformanceScriptTiming
接口在 Long Animation Frames API 中定义,并提供有关导致长动画帧 (LoAF) 的单个脚本的指标。
描述
长动画帧 (LoAF) 是渲染更新,这些更新延迟超过 50 毫秒。LoAF 会导致用户界面 (UI) 更新缓慢,使控件看起来无响应,并导致 卡顿 (不流畅) 的动画效果和滚动。这通常会导致用户沮丧。
PerformanceScriptTiming
接口 (通过 PerformanceLongAnimationFrameTiming.scripts
属性访问其实例) 提供有关导致 LoAF 的单个脚本的以下细粒度信息集,使开发人员能够缩小其根本原因范围
- 每个脚本的一组详细时间戳。
- 调用者的身份和类型,即调用时运行脚本的功能。
- 有关每个脚本源文件 (包括 URL、导致 LoAF 的函数名称和字符位置) 的详细信息。
继承
PerformanceScriptTiming
继承自 PerformanceEntry
。
实例属性
此接口扩展了以下 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 表格只在浏览器中加载