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
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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