PerformanceScriptTiming
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех наиболее распространённых браузерах.
Экспериментальный: Это экспериментальная технология.Подробнее
Перед использованием в производстве внимательно изучите таблицу совместимости с браузерами.
Интерфейс PerformanceScriptTiming описан в 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()Экспериментальная -
Возвращает JSON-представление объекта
PerformanceScriptTiming.
Примеры
См. Длинные кадры анимации для примеров, связанных с API длинных кадров анимации.
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
PerformanceScriptTiming |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
executionStart |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
forcedStyleAndLayoutDuration |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
invoker |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
invokerType |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
pauseDuration |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
sourceCharPosition |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
sourceFunctionName |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
sourceURL |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
toJSON |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
window |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
windowAttribution |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceScriptTiming