PerformanceResourceTiming: domainLookupStart-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 Eigenschaft domainLookupStart gibt den Zeitstempel unmittelbar bevor der Browser die Domain-Name-Abfrage für die Ressource startet, zurück.
Wert
Die Eigenschaft domainLookupStart kann die folgenden Werte haben:
- Ein
DOMHighResTimeStampunmittelbar bevor der Browser die Domain-Name-Abfrage für die Ressource startet. 0, wenn die Ressource sofort aus einem Cache abgerufen wurde.0, wenn die Ressource eine Cross-Origin-Anfrage ist und keinTiming-Allow-OriginHTTP-Antwort-Header verwendet wird.
Beispiele
>Messung der DNS-Abfragezeit
Die Eigenschaften domainLookupStart und domainLookupEnd können verwendet werden, um zu messen, wie lange die DNS-Abfrage dauert.
const dns = entry.domainLookupEnd - entry.domainLookupStart;
Beispiel mit einem PerformanceObserver, der über neue resource Performance-Einträge benachrichtigt, sobald sie in der Performance-Zeitachse des Browsers aufgezeichnet 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 dns = entry.domainLookupEnd - entry.domainLookupStart;
if (dns > 0) {
console.log(`${entry.name}: DNS lookup duration: ${dns}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
Beispiel mit Performance.getEntriesByType(), das nur resource Performance-Einträge anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Performance-Zeitachse des Browsers vorhanden sind:
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
const dns = entry.domainLookupEnd - entry.domainLookupStart;
if (dns > 0) {
console.log(`${entry.name}: DNS lookup duration: ${dns}ms`);
}
});
Cross-Origin Timing-Informationen
Wenn der Wert der Eigenschaft domainLookupStart 0 ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um Cross-Origin-Timing-Informationen anzuzeigen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.
Um beispielsweise https://big.rakal.top das Anzeigen von Timing-Ressourcen zu erlauben, sollte die Cross-Origin-Ressource senden:
Timing-Allow-Origin: https://big.rakal.top
Spezifikationen
| Specification |
|---|
| Resource Timing> # dom-performanceresourcetiming-domainlookupstart> |
Browser-Kompatibilität
Loading…