PerformanceScriptTiming
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Giao diện PerformanceScriptTiming được chỉ định trong Long Animation Frames API và cung cấp các chỉ số về các tập lệnh riêng lẻ góp phần vào các khung hoạt hình dài (LoAF).
Mô tả
Các khung hoạt hình dài (LoAF) là các cập nhật render bị trì hoãn vượt quá 50ms. LoAF có thể dẫn đến các cập nhật giao diện người dùng (UI) chậm, khiến các điều khiển có vẻ không phản hồi và gây ra các hiệu ứng hoạt hình và cuộn giật cục (không mượt mà). Điều này thường dẫn đến sự thất vọng của người dùng.
Giao diện PerformanceScriptTiming (các phiên bản của nó được truy cập qua thuộc tính PerformanceLongAnimationFrameTiming.scripts) cung cấp tập hợp thông tin chi tiết sau về các tập lệnh riêng lẻ góp phần vào LoAF, cho phép các nhà phát triển thu hẹp nguyên nhân gốc rễ của chúng:
- Một tập hợp chi tiết các dấu thời gian cho mỗi tập lệnh.
- Danh tính và loại của invoker, tức là tính năng mà khi được gọi, đã chạy tập lệnh.
- Thông tin chi tiết về từng tệp nguồn tập lệnh, bao gồm URL, tên hàm và vị trí ký tự góp phần vào LoAF.
PerformanceScriptTiming kế thừa từ PerformanceEntry.
Thuộc tính phiên bản
Giao diện này mở rộng các thuộc tính PerformanceEntry sau cho các mục hiệu suất khung hoạt hình dài:
PerformanceEntry.durationRead only Experimental-
Trả về một
DOMHighResTimeStampđại diện cho thời gian trôi qua tính bằng mili giây giữa thời điểm bắt đầu và kết thúc thực thi tập lệnh. PerformanceEntry.entryTypeRead only Experimental-
Trả về loại mục, luôn là
"script". PerformanceEntry.nameRead only Experimental-
Trả về tên mục, luôn là
"script". PerformanceEntry.startTimeRead only Experimental-
Trả về một
DOMHighResTimeStampđại diện cho thời điểm thực thi tập lệnh bắt đầu, tính bằng mili giây.
Giao diện này cũng hỗ trợ các thuộc tính sau:
PerformanceScriptTiming.executionStartRead only Experimental-
Trả về một
DOMHighResTimeStampcho biết thời điểm quá trình biên dịch tập lệnh kết thúc và quá trình thực thi bắt đầu. PerformanceScriptTiming.forcedStyleAndLayoutDurationRead only Experimental-
Trả về một
DOMHighResTimeStampcho biết tổng thời gian, tính bằng mili giây, tập lệnh xử lý bố cục/kiểu bị ép buộc. Xem Avoid layout thrashing để hiểu nguyên nhân gây ra điều này. PerformanceScriptTiming.invokerRead only Experimental-
Trả về một giá trị chuỗi cho biết danh tính của tính năng mà khi được gọi, đã chạy tập lệnh.
PerformanceScriptTiming.invokerTypeRead only Experimental-
Trả về một giá trị chuỗi cho biết loại tính năng mà khi được gọi, đã chạy tập lệnh.
PerformanceScriptTiming.pauseDurationRead only Experimental-
Trả về một
DOMHighResTimeStampcho biết tổng thời gian, tính bằng mili giây, tập lệnh dành cho các thao tác đồng bộ "tạm dừng" (ví dụ: các lệnh gọiWindow.alert()hoặc cácXMLHttpRequestđồng bộ). PerformanceScriptTiming.sourceCharPositionRead only Experimental-
Trả về một số đại diện cho vị trí ký tự tập lệnh của tính năng tập lệnh góp phần vào LoAF.
PerformanceScriptTiming.sourceFunctionNameRead only Experimental-
Trả về một chuỗi đại diện cho tên của hàm góp phần vào LoAF.
PerformanceScriptTiming.sourceURLRead only Experimental-
Trả về một chuỗi đại diện cho URL của tập lệnh.
PerformanceScriptTiming.windowRead only Experimental-
Trả về một tham chiếu đến đối tượng
Windowđại diện chowindowcủa vùng chứa (tức là tài liệu cấp cao nhất hoặc<iframe>) trong đó tập lệnh gây ra LoAF được thực thi. PerformanceScriptTiming.windowAttributionRead only Experimental-
Trả về một giá trị liệt kê mô tả mối quan hệ của vùng chứa (tức là tài liệu cấp cao nhất hoặc
<iframe>) trong đó tập lệnh gây ra LoAF được thực thi, so với cửa sổ đang chạy tài liệu hiện tại.
Phương thức phiên bản
PerformanceScriptTiming.toJSON()Experimental-
Trả về biểu diễn JSON của đối tượng
PerformanceScriptTiming.
Ví dụ
Xem Long animation frame timing để biết các ví dụ liên quan đến Long Animation Frames API.
Thông số kỹ thuật
| Specification |
|---|
| Long Animation Frames API> # sec-PerformanceScriptTiming> |