AnimationTimeline:currentTime 属性

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2020 年 7 月以来,它已在各大浏览器中可用。

Web Animations API 的 AnimationTimeline 接口的 currentTime 只读属性返回时间线当前的毫秒时间,如果时间线处于非活动状态,则返回 null

一个数字,表示时间线当前的毫秒时间;如果时间线处于非活动状态,则返回 null

时间精度降低

为了防止计时攻击和指纹识别animationTimeline.currentTime 的精度可能会根据浏览器设置而进行舍入。在 Firefox 中,privacy.reduceTimerPrecision 偏好设置默认启用,并且默认为 2ms。你也可以启用 privacy.resistFingerprinting,在这种情况下,精度将是 100ms 或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds 的值,取两者中的较大者。

例如,在时间精度降低的情况下,animationTimeline.currentTime 的结果将始终是 0.002 的倍数,或者在启用了 privacy.resistFingerprinting 的情况下是 0.1(或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds)的倍数。

js
// reduced time precision (2ms) in Firefox 60
animationTimeline.currentTime;
// Might be:
// 23.404
// 24.192
// 25.514
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
animationTimeline.currentTime;
// Might be:
// 49.8
// 50.6
// 51.7
// …

规范

规范
Web 动画
# dom-animationtimeline-currenttime

浏览器兼容性

另见