PerformanceResourceTiming: свойство initiatorType
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Примечание: Эта функция доступна в Потоках Web Workers.
Свойство initiatorType — это строка, представляющая веб-платформенную функцию, которая инициировала загрузку ресурса.
Примечание: Это свойство не отражает тип загруженного контента. Файл .css может быть загружен с помощью элемента <link>, ведущего к initiatorType типа link. При загрузке изображений с помощью background: url() в файле CSS, initiatorType будет css а не img.
Значение
Свойство initiatorType может иметь следующие значения, или other если ни одно из условий не выполняется.
audio-
Если запрос был инициирован атрибутом
srcэлемента<audio>. beacon-
Если запрос был инициирован методом
navigator.sendBeacon(). body-
Если запрос был инициирован атрибутом
backgroundэлемента<body>. css-
Если запрос был инициирован функцией CSS
url(). early-hint-
Если запрос был инициирован ответом
103Early Hint. embed-
Если запрос был инициирован атрибутом
srcэлемента<embed>. fetch-
Если запрос был инициирован методом
fetch(). frame-
Если запрос был инициирован загрузкой элемента
<frame>. iframe-
Если запрос был инициирован атрибутом
srcэлемента<iframe>. iconНестандартный-
Если запрос был инициирован загрузкой значка. Нестандартный, и сообщается только Safari.
image-
Если запрос был инициирован элементом
<image>. img-
Если запрос был инициирован элементом
<img>с атрибутомsrcилиsrcset. input-
Если запрос был инициирован элементом
<input>типаimage. link-
Если запрос был инициирован элементом
<link>. -
Если запрос был инициирован запросом навигации.
object-
Если запрос был инициирован элементом
<object>. ping-
Если запрос был инициирован атрибутом
pingэлемента<a>. script-
Если запрос был инициирован элементом
<script>. track-
Если запрос был инициирован атрибутом
srcэлемента<track>. video-
Если запрос был инициирован атрибутами
posterилиsrcэлемента<video>. xmlhttprequest-
Если запрос был инициирован объектом
XMLHttpRequest.
Примеры
Фильтрация ресурсов
Свойство initiatorType может использоваться для получения только определённых записей ресурсных таймингов. Например, только тех, что были инициированы элементами <script>.
Пример с использованием PerformanceObserver, который уведомляет о новых записях resource производительности по мере их записи в хронологии производительности браузера. Используйте опцию buffered для доступа к записям, существовавшим до создания наблюдателя.
const observer = new PerformanceObserver((list) => {
const scripts = list.getEntries().filter((entry) => {
return entry.initiatorType === "script";
});
console.log(scripts);
});
observer.observe({ type: "resource", buffered: true });
Пример с использованием Performance.getEntriesByType(), который показывает только resource записи производительности, присутствующие в хронологии производительности браузера в момент вызова этого метода:
const scripts = performance.getEntriesByType("resource").filter((entry) => {
return entry.initiatorType === "script";
});
console.log(scripts);
Спецификации
Совместимость браузеров
| Рабочие Столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
initiatorType |
43 | 12 | 35 | 30 | 11 | 43 | 35 | 30 | 11 | 4.0 | 43 |
© 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/PerformanceResourceTiming/initiatorType