DOMHighResTimeStamp
DOMHighResTimeStamp
类型为 double
,用于存储以毫秒为单位的时间值。
此类型可用于描述时间中的一个离散点或时间间隔(两个离散时间点之间的时间差)。起始时间可以是网站或应用程序的脚本确定的特定时间,也可以是时间原点。
时间以毫秒为单位,应精确到 5 µs(微秒),数字的小数部分表示毫秒的几分之一。但是,如果浏览器无法提供精确到 5 µs 的时间值(例如,由于硬件或软件限制),则浏览器可以将该值表示为精确到毫秒的毫秒时间。另请注意以下部分,浏览器首选项可以控制降低的时间精度,以避免计时攻击和指纹识别。
此外,如果用户代理运行所在的设备或操作系统没有精确到微秒级的时钟,它们可能只精确到毫秒级。
安全要求
为了提供针对计时攻击和指纹识别的保护,DOMHighResTimeStamp
类型会根据站点隔离状态进行粗化。
- 隔离上下文中的分辨率:5 微秒
- 非隔离上下文中的分辨率:100 微秒
使用 Cross-Origin-Opener-Policy
和 Cross-Origin-Embedder-Policy
标头隔离您的站点。
http
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
这些标头可确保顶级文档不与跨域文档共享浏览上下文组。COOP 会隔离您的文档,如果潜在攻击者在弹出窗口中打开您的文档,他们将无法访问您的全局对象,从而防止了一系列被称为XS-Leaks的跨域攻击。
规范
规范 |
---|
高分辨率时间 # dom-domhighrestimestamp |