PerformanceElementTiming
Ограниченное использование
Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.
Экспериментально: Это экспериментальная технология.
Перед использованием в продакшене внимательно ознакомьтесь с таблицей совместимости браузеров.
Интерфейс PerformanceElementTiming содержит информацию о времени рендеринга для элементов изображений и текстовых узлов, которые разработчик отметил атрибутом elementtiming для наблюдения.
Описание
Цель API Element Timing — предоставить веб-разработчикам или инструментам аналитики возможность измерять временные метки рендеринга критически важных элементов на странице.
API поддерживает информацию о времени рендеринга для следующих элементов:
-
<img>элементов, -
<image>элементов внутри<svg>, -
изображения-заглушки для
<video>элементов, - элементов, у которых свойство
background-imageсодержит ссылку на фактически доступный ресурс, и - группы текстовых узлов, например,
<p>.
Автор помечает элемент для наблюдения, добавив атрибут elementtiming к элементу.
PerformanceElementTiming наследуется от PerformanceEntry.
Свойства экземпляра
Этот интерфейс расширяет следующие свойства PerformanceEntry для типов входов производительности, квалифицируя их следующим образом:
-
PerformanceEntry.durationТолько для чтения Экспериментально -
Всегда возвращает
0, так какdurationне применяется к этому интерфейсу. -
PerformanceEntry.entryTypeТолько для чтения Экспериментально -
Всегда возвращает
"element". -
PerformanceEntry.nameТолько для чтения Экспериментально -
Возвращает
"image-paint"для изображений и"text-paint"для текста. -
PerformanceEntry.startTimeТолько для чтения Экспериментально -
Возвращает значение
renderTimeэтого входа, если оно не0, иначе значениеloadTimeэтого входа.
Этот интерфейс также поддерживает следующие свойства:
-
PerformanceElementTiming.elementТолько для чтения Экспериментально -
Объект
Element, представляющий элемент, о котором мы возвращаем информацию. -
PerformanceElementTiming.idТолько для чтения Экспериментально -
Строка, представляющая
idэлемента. -
PerformanceElementTiming.identifierТолько для чтения Экспериментально -
Строка, представляющая значение атрибута
elementtimingэлемента. -
PerformanceElementTiming.intersectionRectТолько для чтения Экспериментально -
Объект
DOMRectReadOnly, представляющий прямоугольник элемента в области просмотра. -
PerformanceElementTiming.loadTimeТолько для чтения Экспериментально -
DOMHighResTimeStampс loadTime элемента. -
PerformanceElementTiming.naturalHeightТолько для чтения Экспериментально -
Целое беззнаковое 32-битное число (unsigned long), представляющее внутреннюю высоту изображения, если это применяется к изображению, 0 для текста.
-
PerformanceElementTiming.naturalWidthТолько для чтения Экспериментально -
Целое беззнаковое 32-битное число (unsigned long), представляющее внутреннюю ширину изображения, если это применяется к изображению, 0 для текста.
-
PerformanceElementTiming.renderTimeТолько для чтения Экспериментально -
DOMHighResTimeStampс renderTime элемента. -
PerformanceElementTiming.urlТолько для чтения Экспериментально -
Строка, представляющая исходный URL запроса ресурсов для изображений, 0 для текста.
Методы экземпляра
-
PerformanceElementTiming.toJSON()Экспериментально -
Возвращает JSON-представление объекта
PerformanceElementTiming.
Примеры
Наблюдение за временем рендеринга конкретных элементов
В этом примере два элемента наблюдаются путем добавления атрибута elementtiming. Регистрируется PerformanceObserver для получения всех записей производительности типа "element" и используется флаг buffered для доступа к данным до создания наблюдателя.
<img src="image.jpg" elementtiming="big-image" /> <p elementtiming="text" id="text-id">text here</p>
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(entry);
});
});
observer.observe({ type: "element", buffered: true });
В консоль будут выведены две записи. Первая содержит сведения об изображении, вторая — о текстовом узле.
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильное устройство | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
PerformanceElementTiming |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
element |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
id |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
identifier |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
intersectionRect |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
loadTime |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
naturalHeight |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
naturalWidth |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
renderTime |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
toJSON |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
url |
77 | 79 | Нет | 64 | Нет | 77 | Нет | 55 | Нет | 12.0 | 77 |
См. также
-
elementtimingАтрибут HTML
© 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/PerformanceElementTiming