PerformanceNavigationTiming: свойство redirectCount
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2021 года.
Чтение только свойство redirectCount возвращает число, представляющее количество перенаправлений с момента последней навигации без перенаправления в текущем контексте браузера.
Чем больше перенаправлений на странице, тем дольше время загрузки страницы. Чтобы улучшить производительность вашей веб-страницы, избегайте множественных перенаправлений.
Свойства redirectStart и redirectEnd могут использоваться для измерения времени перенаправления. Обратите внимание, что они вернут 0 для перенаправлений из другого источника.
Обратите внимание, что перенаправления на стороне клиента, такие как <meta http-equiv="refresh" content="0; url=https://example.com/"> не учитываются здесь.
Значение
Свойство redirectCount может принимать следующие значения:
- Число, представляющее количество перенаправлений с момента последней навигации без перенаправления в текущем контексте браузера.
-
0если перенаправление происходит из другого источника.
Примеры
Регистрация записей с перенаправлениями
Свойство redirectCount можно использовать для проверки наличия одного или нескольких перенаправлений. Мы регистрируем имя записи и время перенаправления, если оно доступно.
Пример с использованием PerformanceObserver, который сообщает о новых navigation записях производительности по мере их записи в временной шкале производительности браузера. Используйте параметр buffered для доступа к записям, созданным до создания наблюдателя.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const name = entry.name;
const redirectCount = entry.redirectCount;
const redirectTime = entry.redirectEnd - entry.redirectStart;
if (redirectCount > 0) {
console.log(`${name}: Redirect count: ${redirectCount}`);
if (redirectTime > 0) {
console.log(`${name}: Redirect time: ${redirectTime}ms`);
}
}
});
});
observer.observe({ type: "navigation", buffered: true });
Пример с использованием Performance.getEntriesByType(), который отображает только navigation записи производительности, присутствующие в временной шкале производительности браузера в момент вызова этого метода:
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
const name = entry.name;
const redirectCount = entry.redirectCount;
const redirectTime = entry.redirectEnd - entry.redirectStart;
if (redirectCount > 0) {
console.log(`${name}: Redirect count: ${redirectCount}`);
if (redirectTime > 0) {
console.log(`${name}: Redirect time: ${redirectTime}ms`);
}
}
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
redirectCount |
57 | 12 | 58 | 44 | 15 | 57 | 58 | 43 | 15.1 | 7.0 | 57 |
См. также
© 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/PerformanceNavigationTiming/redirectCount