DOMHighResTimeStamp

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

Тип DOMHighResTimeStamp является double и используется для хранения значения времени в миллисекундах. Этот тип может быть использован для описания конкретной точки во времени или временного промежутка (разницы во времени между двумя конкретными временными точками).

Время, в миллисекундах, скорее всего будет точным до 5 µs (микросекунд) и дробную долю числа будут составлять доли милисекунды. Тем не менее, если браузер (в силу, к примеру, аппаратных или программных ограничений) не может предоставить значение времени с точностью до 5 µs, он может представить значение как время в миллисекундах с точностью до миллисекунды. Также обратите внимание на секцию внизу об уменьшении точности времени, которое можно указать в настройках браузера дабы избежать атак по времени и сличения информации с помощью цифровых отпечатков.

Кроме того, если устройство или операционная система на который работает user agent не имеет часов, точных до микросекунд, они могут иметь точность до миллисекунды.

Уменьшенная точность времени

Для предоставления защиты от атак по времени и сличения информации с помощью цифровых отпечатков, точность отметок времени может округляться в зависимости от настроек браузера. В Firefox свойство privacy.reduceTimerPrecision включено по умолчанию и имеет значение 20 µs в Firefox 59; в 60 оно уже имеет значение 2ms.

// уменьшенная точность времени (2ms) в Firefox 60
event.timeStamp
// 1519211809934
// 1519211810362
// 1519211811670
// ...


// уменьшенная точность времени с включенным `privacy.resistFingerprinting`
event.timeStamp;
// 1519129853500
// 1519129858900
// 1519129864400
// ...

В Firefox, вы также можете включить privacy.resistFingerprinting, точность будет 100ms или значением privacy.resistFingerprinting.reduceTimerPrecision.microseconds, в зависимости от того, какое из них больше.

Свойства

У этого типа нет свойств. Это число двойной точности с плавающей запятой.

Значение

Значение DOMHighResTimeStamp является числом двойной точности с плавающей запятой, которое описывает количество миллисекунд (с точностью до 5 микросекунд, если устройство это поддерживает), прошедших между двумя точками во времени. Начальное время может быть либо определённым временем, определённым скриптом или приложением, или временем возникновения.

Время возникновения

Время возникновения — стандартное время, которое считается началом существования текущего документа. Оно считается следующим образом:

  • Если global object скрипта - Window, время возникновения определяется следующим образом:
    • Если текущий Document - первый загруженный в Window, время возникновения - время, когда был создан контекст браузера.
    • Если во время выгрузки предыдущего документа, который был загружен в окне, пользователю было показано диалоговое окно, в котором он должен был подтвердить покинет он предыдущую страницу или нет, время возникновения это время когда пользователь подтвердить что он желает перейти на новую страницу.
    • Если ни один из вышеописанных пунктов не определяет время возникновения, тогда время возникновения это время, когда переход, который результировал в создании текущего Document имел место.
  • Если глобальный обьект скрипта — WorkerGlobalScope (тоесть скрипт, запущенный как Web Worker), время возникновения - момент создания Worker-а.
  • Во всех остальных случаях время возникновения - undefined.

Методы

У этого типа нет методов.

Спецификации

Спецификация Статус Комментарий
High Resolution Time Level 2
Определение 'DOMHighResTimeStamp' в этой спецификации.
Рекомендация Более строгие описания интерфейсов и типов
High Resolution Time
Определение 'DOMHighResTimeStamp' в этой спецификации.
Рекомендация Изначальное определение.

Браузерная совместимость

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
DOMHighResTimestampChrome Полная поддержка 6Edge Полная поддержка 12Firefox Полная поддержка 7IE Полная поддержка 9Opera Полная поддержка 15Safari Полная поддержка 8WebView Android Полная поддержка ДаChrome Android Полная поддержка 18Firefox Android Полная поддержка 15Opera Android Полная поддержка 14Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 1.0

Легенда

Полная поддержка  
Полная поддержка

Смотрите также