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: Dieses Feature ist verfügbar in Web Workers.

Die initiatorType-Eigenschaft ist eine schreibgeschützte Zeichenfolge, die die Webplattform-Funktion repräsentiert, die das Laden der Ressource initiiert hat.

Hinweis: Diese Eigenschaft repräsentiert nicht den Typ des abgerufenen Inhalts. Eine .css-Datei kann beispielsweise mit einem <link>-Element abgerufen werden, was zu einem initiatorType von link führt. Wenn Bilder mit background: url() in einer CSS-Datei geladen werden, ist der initiatorType css und nicht img.

Wert

Die Eigenschaft initiatorType kann folgende Werte haben oder other, falls keine der Bedingungen zutrifft.

audio

Wenn die Anfrage von einem <audio>-Element mit dem src-Attribut 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 das 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 spezifische Ressourcentiming-Einträge zu erhalten. Beispielsweise nur diejenigen, die durch <script>-Elemente initiiert wurden.

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

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

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

Beispiel mit Performance.getEntriesByType(), das nur die resource-Leistungseinträge anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Leistungstimeline des Browsers vorhanden sind:

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

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-initiatortype

Browser-Kompatibilität

BCD tables only load in the browser