PerformanceEventTiming:interactionId 属性
描述
当用户与网页交互时,用户交互(例如点击)通常会触发一系列事件,例如 pointerdown
、pointerup
和 click
事件。 为了测量这一系列事件的延迟,这些事件共享相同的 interactionId
。
仅对属于用户交互的以下事件类型计算 interactionId
。 否则为 0
。
事件类型 | 用户交互 |
---|---|
pointerdown 、pointerup 、click |
点击 / 轻触 / 拖动 |
keydown 、keyup |
按键 |
值
数字。
示例
使用 interactionId
以下示例收集与交互对应的所有事件的事件持续时间。 然后,eventLatencies
地图可用于查找用户交互的事件持续时间最长的事件,例如。
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));
});
规范
规范 |
---|
事件计时 API # dom-performanceeventtiming-interactionid |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。