Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство redirectEnd

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

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

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

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

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

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

Чтобы получить количество перенаправлений, см. также PerformanceNavigationTiming.redirectCount.

Значение

Свойство redirectEnd может принимать следующие значения:

  • Значение timestamp сразу после получения последнего байта ответа последнего перенаправления.
  • 0 если перенаправлений нет.
  • 0 если запрос происходит из другого источника и не используется HTTP-заголовок ответа Timing-Allow-Origin.

Примеры

Измерение времени перенаправления

Свойства redirectEnd и redirectStart могут быть использованы для измерения того, сколько времени занимает перенаправление.

const redirect = entry.redirectEnd - entry.redirectStart;

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

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const redirect = entry.redirectEnd - entry.redirectStart;
    if (redirect > 0) {
      console.log(`${entry.name}: Redirect time: ${redirect}ms`);
    }
  });
});

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

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

const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  const redirect = entry.redirectEnd - entry.redirectStart;
  if (redirect > 0) {
    console.log(`${entry.name}: Redirect time: ${redirect}ms`);
  }
});

Информация о временных параметрах запросов из другого источника

Если значение свойства redirectEnd равно 0, ресурс, вероятно, является запросом из другого источника. Чтобы разрешить просмотр информации о временных параметрах запросов из другого источника, необходимо установить HTTP-заголовок ответа Timing-Allow-Origin.

Например, чтобы https://developer.mozilla.org мог видеть ресурсы, относящиеся к времени, кросс-доменный ресурс должен отправлять:

Timing-Allow-Origin: https://developer.mozilla.org

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
redirectEnd 43 12 35 30 11 43 35 30 11 4.0 43

См. также

  • PerformanceNavigationTiming.redirectCount
  • Timing-Allow-Origin

© 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/redirectEnd

Spec-Zone.ru

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