Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство fetchStart

Базовая Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2017 года.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Чтение-только свойство fetchStart представляет собой timestamp непосредственно перед началом браузером загрузки ресурса.

Если есть HTTP-редиректы, свойство возвращает время непосредственно перед началом работы пользовательского агента по загрузке конечного ресурса в цепочке редиректов.

В отличие от многих других PerformanceResourceTiming свойств, свойство fetchStart доступно для запросов к ресурсам других доменов без необходимости в HTTP-заголовке Timing-Allow-Origin.

Значение

A DOMHighResTimeStamp непосредственно перед началом браузером загрузки ресурса.

Примеры

Измерение времени загрузки (без редиректов)

Свойства fetchStart и responseEnd можно использовать для измерения общего времени загрузки конечного ресурса (без редиректов). Если вы хотите учесть редиректы, общее время загрузки указано в свойстве duration.

const timeToFetch = entry.responseEnd - entry.fetchStart;

Пример использования PerformanceObserver, который уведомляет о новых resource записях производительности, как только они регистрируются в временной шкале производительности браузера. Используйте опцию buffered для доступа к записям, существовавшим до создания наблюдателя.

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const timeToFetch = entry.responseEnd - entry.fetchStart;
    if (timeToFetch > 0) {
      console.log(`${entry.name}: Time to fetch: ${timeToFetch}ms`);
    }
  });
});

observer.observe({ type: "resource", buffered: true });

Пример использования Performance.getEntriesByType(), который показывает только resource записи производительности, присутствующие в временной шкале производительности браузера в момент вызова этого метода:

const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  const timeToFetch = entry.responseEnd - entry.fetchStart;
  if (timeToFetch > 0) {
    console.log(`${entry.name}: Time to fetch: ${timeToFetch}ms`);
  }
});

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

Спецификация
Время ресурсов
# dom-performanceresourcetiming-fetchstart

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
fetchStart 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/fetchStart

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API