PerformanceEntry: свойство name
Базовая Широко доступная
Эта функция хорошо устоялась и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
Примечание: Эта функция доступна в Потоках Web Workers.
Только для чтения name свойство интерфейса PerformanceEntry — это строка, представляющая имя записи производительности. Она служит идентификатором, но не обязательно уникальным. Значение зависит от подкласса.
Значение
Строка. Значение зависит от подкласса объекта PerformanceEntry, как показано в таблице ниже.
| Подкласс | Значение |
|---|---|
LargestContentfulPaint | Всегда возвращает пустую строку. |
LayoutShift | Всегда возвращает "layout-shift". |
PerformanceElementTiming | Одна из следующих строк:
|
PerformanceEventTiming | Тип связанного события. |
PerformanceLongTaskTiming | Одна из следующих строк:
|
PerformanceMark | Имя, используемое при создании отметки с помощью вызова performance.mark(). |
PerformanceMeasure | Имя, используемое при создании измерения с помощью вызова performance.measure(). |
PerformanceNavigationTiming | Резолвированный URL запрошенного ресурса. Обратите внимание, что это исключает любые фрагменты текста или другие фрагментные директивы. Значение не меняется, даже если запрос перенаправляется. |
PerformancePaintTiming | Одна из следующих строк:
|
PerformanceResourceTiming | Резолвированный URL запрошенного ресурса. Это значение не меняется, даже если запрос перенаправляется. |
TaskAttributionTiming | Всегда возвращает "unknown". |
VisibilityStateEntry | Одна из следующих строк:
|
Примеры
Фильтрование записей производительности по имени
Когда PerformanceEntry является объектом PerformanceResourceTiming, свойство name ссылается на резолвированный URL запрошенного ресурса. В этом случае свойство name может быть полезно для фильтрации определенных ресурсов, например, всех SVG-изображений.
// Log durations of SVG resources
performance.getEntriesByType("resource").forEach((entry) => {
if (entry.name.endsWith(".svg")) {
console.log(`${entry.name}'s duration: ${entry.duration}`);
}
});
Получение записей производительности по имени
Как Performance, так и PerformanceObserver предоставляют методы, позволяющие получить записи производительности по имени напрямую. Вам не обязательно нужно свойство name, вместо этого вы можете использовать Performance.getEntriesByName() или PerformanceObserverEntryList.getEntriesByName().
// Log all marks named "debug-marks" at this point in time
const debugMarks = performance.getEntriesByName("debug-mark", "mark");
debugMarks.forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
// PerformanceObserver version
// Log all marks named "debug-marks" when they happen
function perfObserver(list, observer) {
list.getEntriesByName("debug-mark", "mark").forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });
Спецификации
| Спецификация |
|---|
| Performance Timeline # dom-performanceentry-name |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
name |
28 | 12 | 35 | 15 | 11 | 28 | 35 | 14 | 11 | 1.5 | 4.4 |
См. также
© 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/PerformanceEntry/name