Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство redirectStart

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

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

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

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

Это redirectStart только для чтения свойство возвращает timestamp, представляющий начальное время получения, которое инициирует перенаправление.

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

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

Значение

Это redirectStart свойство может иметь следующие значения:

  • A timestamp representing the start time of the fetch which initiates the redirect.
  • 0 если перенаправления нет.
  • 0 если запрос — межсайтовый, и заголовок ответа HTTP Timing-Allow-Origin не используется.

Примеры

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

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

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`);
  }
});

Информация о тайминге межсайтовых запросов

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

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

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

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

Спецификация
Тайминги ресурсов
# dom-performanceresourcetiming-redirectstart

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

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

Spec-Zone.ru

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