DOMHighResTimeStamp

DOMHighResTimeStamp 类型为 double,用于存储以毫秒为单位的时间值。

此类型可用于描述时间中的一个离散点或时间间隔(两个离散时间点之间的时间差)。起始时间可以是网站或应用程序的脚本确定的特定时间,也可以是时间原点

时间以毫秒为单位,应精确到 5 µs(微秒),数字的小数部分表示毫秒的几分之一。但是,如果浏览器无法提供精确到 5 µs 的时间值(例如,由于硬件或软件限制),则浏览器可以将该值表示为精确到毫秒的毫秒时间。另请注意以下部分,浏览器首选项可以控制降低的时间精度,以避免计时攻击和指纹识别

此外,如果用户代理运行所在的设备或操作系统没有精确到微秒级的时钟,它们可能只精确到毫秒级。

安全要求

为了提供针对计时攻击和指纹识别的保护,DOMHighResTimeStamp 类型会根据站点隔离状态进行粗化。

  • 隔离上下文中的分辨率:5 微秒
  • 非隔离上下文中的分辨率:100 微秒

使用 Cross-Origin-Opener-PolicyCross-Origin-Embedder-Policy 标头隔离您的站点。

http
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

这些标头可确保顶级文档不与跨域文档共享浏览上下文组。COOP 会隔离您的文档,如果潜在攻击者在弹出窗口中打开您的文档,他们将无法访问您的全局对象,从而防止了一系列被称为XS-Leaks的跨域攻击。

规范

规范
高分辨率时间
# dom-domhighrestimestamp

另请参阅