Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство responseEnd

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

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

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Веб-воркерах.

Чтение только свойство responseEnd возвращает timestamp сразу после того, как браузер получит последний байт ресурса или сразу перед закрытием транспортного соединения, в зависимости от того, что произойдет раньше.

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

Значение

A DOMHighResTimeStamp сразу после того, как браузер получит последний байт ресурса или сразу перед закрытием транспортного соединения, в зависимости от того, что произойдет раньше.

Примеры

Измерение времени загрузки (без переадресаций)

Свойства responseEnd и fetchStart могут быть использованы для измерения общего времени загрузки конечного ресурса (без переадресаций). Если вы хотите включить переадресации, общее время загрузки предоставляется в свойстве 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`);
  }
});

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

Спецификация
Resource Timing
# dom-performanceresourcetiming-responseend

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

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

Spec-Zone.ru

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