Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformanceEventTiming: interactionId-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die schreibgeschützte interactionId-Eigenschaft gibt eine Kennung zurück, die eine Benutzerinteraktion eindeutig identifiziert, die eine Reihe von zugehörigen Ereignissen ausgelöst hat.

Beschreibung

Wenn ein Benutzer mit einer Webseite interagiert, löst eine Benutzerinteraktion (zum Beispiel ein Klick) normalerweise eine Abfolge von Ereignissen aus, wie pointerdown-, pointerup- und click-Ereignisse. Um die Latenz dieser Ereignisreihe zu messen, teilen die Ereignisse die gleiche interactionId.

Eine interactionId wird nur für die folgenden Ereignistypen berechnet, die zu einer Benutzerinteraktion gehören. Andernfalls ist sie 0.

Ereignistypen Benutzerinteraktion
pointerdown, pointerup, click Klick / Tap / Ziehen
keydown, keyup Tastendruck

Wert

Eine Zahl.

Beispiele

Verwenden von interactionId

Das folgende Beispiel sammelt die Ereignisdauer für alle Ereignisse, die einer Interaktion entsprechen. Die eventLatencies-Map kann dann verwendet werden, um beispielsweise Ereignisse mit maximaler Dauer für eine Benutzerinteraktion zu finden.

js
// The key is the interaction ID.
let eventLatencies = {};

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    if (entry.interactionId > 0) {
      const interactionId = entry.interactionId;
      if (!eventLatencies.has(interactionId)) {
        eventLatencies[interactionId] = [];
      }
      eventLatencies[interactionId].push(entry.duration);
    }
  });
});

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

// Log events with maximum event duration for a user interaction
Object.entries(eventLatencies).forEach(([k, v]) => {
  console.log(Math.max(...v));
});

Spezifikationen

Specification
Event Timing API
# dom-performanceeventtiming-interactionid

Browser-Kompatibilität