PerformanceResourceTiming: свойство redirectStart
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Примечание: Эта функция доступна в Web Workers.
Это redirectStart только для чтения свойство возвращает timestamp, представляющий начальное время получения, которое инициирует перенаправление.
Если при получении ресурса есть HTTP-перенаправления, и если какое-либо из перенаправлений не происходит из того же источника, что и текущий документ, но алгоритм проверки тайминга проходит для каждого перенаправленного ресурса, это свойство возвращает начальное время получения, которое инициирует перенаправление; в противном случае возвращается ноль.
Чтобы узнать количество перенаправлений, см. также PerformanceNavigationTiming.redirectCount.
Значение
Это redirectStart свойство может иметь следующие значения:
- A
timestamprepresenting the start time of the fetch which initiates the redirect. -
0если перенаправления нет. -
0если запрос — межсайтовый, и заголовок ответа HTTPTiming-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
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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