PerformanceResourceTiming: initiatorType-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 initiatorType ist eine Zeichenkette, die das Web-Plattform-Feature repräsentiert, das das Laden der Ressource initiiert hat.

Hinweis: Diese Eigenschaft repräsentiert nicht den Typ des abgerufenen Inhalts. Eine .css-Datei kann über ein <link>-Element abgerufen werden, was zu einem initiatorType von link führt. Beim Laden von Bildern mit background: url() in einer CSS-Datei wird der initiatorType css und nicht img sein.

Wert

Die Eigenschaft initiatorType kann die folgenden Werte annehmen oder other, wenn keine der Bedingungen zutrifft.

audio

Wenn die Anfrage durch das src-Attribut eines <audio>-Elements initiiert wurde.

beacon

Wenn die Anfrage durch eine navigator.sendBeacon()-Methode initiiert wurde.

body

Wenn die Anfrage durch das background-Attribut eines <body>-Elements initiiert wurde.

css

Wenn die Anfrage durch eine CSS-url()-Funktion initiiert wurde.

early-hint

Wenn die Anfrage durch eine 103-Early Hint-Antwort initiiert wurde.

embed

Wenn die Anfrage durch das src-Attribut eines <embed>-Elements initiiert wurde.

fetch

Wenn die Anfrage durch eine fetch()-Methode initiiert wurde.

frame

Wenn die Anfrage durch das Laden eines <frame>-Elements initiiert wurde.

iframe

Wenn die Anfrage durch das src-Attribut eines <iframe>-Elements initiiert wurde.

icon Nicht standardisiert

Wenn die Anfrage durch ein Favicon initiiert wurde. Nicht standardisiert und nur von Safari gemeldet.

image

Wenn die Anfrage durch ein <image>-Element initiiert wurde.

img

Wenn die Anfrage durch das src- oder srcset-Attribut eines <img>-Elements initiiert wurde.

input

Wenn die Anfrage durch ein <input>-Element vom Typ image initiiert wurde.

Wenn die Anfrage durch ein <link>-Element initiiert wurde.

Wenn die Anfrage durch eine Navigationsanfrage initiiert wurde.

object

Wenn die Anfrage durch ein <object>-Element initiiert wurde.

ping

Wenn die Anfrage durch ein ping eines <a>-Elements initiiert wurde.

script

Wenn die Anfrage durch ein <script>-Element initiiert wurde.

track

Wenn die Anfrage durch das src eines <track>-Elements initiiert wurde.

video

Wenn die Anfrage durch das poster oder src eines <video>-Elements initiiert wurde.

xmlhttprequest

Wenn die Anfrage durch ein XMLHttpRequest initiiert wurde.

Beispiele

Filtern von Ressourcen

Die initiatorType-Eigenschaft kann verwendet werden, um nur bestimmte Ressourcentimeing-Einträge zu erhalten. Zum Beispiel nur die, die durch <script>-Elemente initiiert wurden.

Beispiel mit einem PerformanceObserver, der über neue resource-Performance-Einträge benachrichtigt, sobald sie in der Performance-Zeitleiste des Browsers aufgezeichnet werden. Verwenden Sie die buffered-Option, um auf Einträge vor der Erstellung des Observers zuzugreifen.

js
const observer = new PerformanceObserver((list) => {
  const scripts = list
    .getEntries()
    .filter((entry) => entry.initiatorType === "script");
  console.log(scripts);
});

observer.observe({ type: "resource", buffered: true });

Beispiel mit Performance.getEntriesByType(), das nur resource-Performance-Einträge zeigt, die in der Performance-Zeitleiste des Browsers vorhanden sind, wenn Sie diese Methode aufrufen:

js
const scripts = performance
  .getEntriesByType("resource")
  .filter((entry) => entry.initiatorType === "script");
console.log(scripts);

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-initiatortype

Browser-Kompatibilität