PerformanceResourceTiming: redirectStart-Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die schreibgeschützte redirectStart-Eigenschaft gibt einen Zeitstempel zurück, der die Startzeit des Abrufs repräsentiert, der die Umleitung initiiert.
Wenn es HTTP-Umleitungen beim Abrufen der Ressource gibt und wenn eine der Umleitungen nicht vom gleichen Ursprung wie das aktuelle Dokument stammt, aber der Timing-Allow-Check-Algorithmus für jede umgeleitete Ressource besteht, gibt diese Eigenschaft die Startzeit des Abrufs zurück, der die Umleitung initiiert; andernfalls wird null zurückgegeben.
Um die Anzahl der Umleitungen zu ermitteln, siehe auch PerformanceNavigationTiming.redirectCount.
Wert
Die redirectStart-Eigenschaft kann folgende Werte haben:
- Ein
Zeitstempel, der die Startzeit des Abrufs darstellt, der die Umleitung initiiert. 0, wenn es keine Umleitung gibt.0, wenn die Ressource eine anfrageübergreifende Abfrage ist und keinTiming-Allow-OriginHTTP-Antwort-Header verwendet wird.
Beispiele
>Messung der Umleitungszeit
Die Eigenschaften redirectStart und redirectEnd können verwendet werden, um zu messen, wie lange die Umleitung dauert.
const redirect = entry.redirectEnd - entry.redirectStart;
Beispiel mit einem PerformanceObserver, der neue resource Performance-Einträge meldet, sobald sie in der Leistungszeitleiste des Browsers erfasst werden. Verwenden Sie die buffered-Option, um auf Einträge vor der Erstellung des Observers zuzugreifen.
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 });
Beispiel unter Verwendung von Performance.getEntriesByType(), das nur resource Performance-Einträge anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Leistungszeitleiste des Browsers vorhanden sind:
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`);
}
});
Timing-Informationen bei anfrageübergreifenden Anfragen
Wenn der Wert der redirectStart-Eigenschaft 0 ist, könnte die Ressource eine anfrageübergreifende Anfrage sein. Um anfrageübergreifende Timing-Informationen zu sehen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.
Zum Beispiel, um https://big.rakal.top den Zugriff auf Timing-Ressourcen zu erlauben, sollte die anfrageübergreifende Ressource senden:
Timing-Allow-Origin: https://big.rakal.top
Spezifikationen
| Specification |
|---|
| Resource Timing> # dom-performanceresourcetiming-redirectstart> |
Browser-Kompatibilität
Loading…