PerformanceEntry: name property

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.

Note: This feature is available in Web Workers.

Thuộc tính chỉ đọc name của giao diện PerformanceEntry là một chuỗi biểu thị tên của performance entry. Nó đóng vai trò như một định danh, nhưng không nhất thiết phải duy nhất. Giá trị phụ thuộc vào lớp con.

Giá trị

Một chuỗi. Giá trị phụ thuộc vào lớp con của đối tượng PerformanceEntry như bảng bên dưới.

Lớp con Giá trị
LargestContentfulPaint Luôn trả về một chuỗi rỗng.
LayoutShift Luôn trả về "layout-shift".
PerformanceElementTiming Một trong các chuỗi sau:
  • "image-paint"
  • "text-paint"
PerformanceEventTiming Loại của sự kiện liên kết.
PerformanceLongTaskTiming Một trong các chuỗi sau:
  • "cross-origin-ancestor"
  • "cross-origin-descendant"
  • "cross-origin-unreachable"
  • "multiple-contexts"
  • "same-origin-ancestor"
  • "same-origin-descendant"
  • "same-origin"
  • "self"
  • "unknown"
PerformanceMark Tên được dùng khi mark được tạo bằng cách gọi performance.mark().
PerformanceMeasure Tên được dùng khi measure được tạo bằng cách gọi performance.measure().
PerformanceNavigationTiming URL đã được phân giải của tài nguyên được yêu cầu. Lưu ý rằng điều này không bao gồm bất kỳ text fragment hay chỉ thị fragment nào khác. Giá trị này không đổi ngay cả khi yêu cầu bị chuyển hướng.
PerformancePaintTiming Một trong các chuỗi sau:
  • "first-paint"
  • "first-contentful-paint"
PerformanceResourceTiming URL đã được phân giải của tài nguyên được yêu cầu. Giá trị này không đổi ngay cả khi yêu cầu bị chuyển hướng.
TaskAttributionTiming Luôn trả về "unknown".
VisibilityStateEntry Một trong các chuỗi sau:
  • "visible"
  • "hidden"

Ví dụ

Lọc performance entry theo tên

Khi PerformanceEntry là một đối tượng PerformanceResourceTiming, thuộc tính name tham chiếu đến URL đã được phân giải của tài nguyên được yêu cầu. Trong trường hợp này, thuộc tính name có thể hữu ích để lọc các tài nguyên cụ thể, ví dụ như tất cả ảnh SVG.

js
// Ghi lại thời lượng của các tài nguyên SVG
performance.getEntriesByType("resource").forEach((entry) => {
  if (entry.name.endsWith(".svg")) {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  }
});

Lấy performance entry theo tên

Cả PerformancePerformanceObserver đều cung cấp các phương thức cho phép bạn lấy performance entry theo tên trực tiếp. Bạn không nhất thiết phải dùng thuộc tính name cho việc đó, thay vào đó có thể dùng Performance.getEntriesByName() hoặc PerformanceObserverEntryList.getEntriesByName().

js
// Ghi lại tất cả mark có tên "debug-marks" tại thời điểm này
const debugMarks = performance.getEntriesByName("debug-mark", "mark");
debugMarks.forEach((entry) => {
  console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});

// Phiên bản PerformanceObserver
// Ghi lại tất cả mark có tên "debug-marks" khi chúng xuất hiện
function perfObserver(list, observer) {
  list.getEntriesByName("debug-mark", "mark").forEach((entry) => {
    console.log(`${entry.name}'s startTime: ${entry.startTime}`);
  });
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["measure", "mark"] });

Thông số kỹ thuật

Thông số kỹ thuật
Performance Timeline
# dom-performanceentry-name

Tương thích trình duyệt

Xem thêm