PerformanceScriptTiming
PerformanceScriptTiming 介面在 Long Animation Frames API 中進行定義,它提供了關於導致長動畫幀 (LoAF) 的單個指令碼的指標。
描述
長動畫幀 (LoAF) 是指渲染更新延遲超過 50ms。LoAF 會導致使用者介面 (UI) 更新緩慢,使控制元件顯得無響應,並導致動畫效果和滾動出現 卡頓 (不流暢)。這通常會引起使用者不滿。
PerformanceScriptTiming 介面(其例項透過 PerformanceLongAnimationFrameTiming.scripts 屬性訪問)提供了關於導致 LoAF 的單個指令碼的以下詳細資訊集,使開發人員能夠縮小其根本原因:
- 每條指令碼的詳細時間戳集。
- 呼叫者的標識和型別,即呼叫時執行指令碼的特性。
- 關於每個指令碼原始檔的詳細資訊,包括 URL,以及導致 LoAF 的函式名和字元位置。
PerformanceScriptTiming 繼承自 PerformanceEntry。
例項屬性
此介面擴充套件了以下用於長動畫幀效能條目的 PerformanceEntry 屬性:
PerformanceEntry.duration只讀 實驗性-
返回一個
DOMHighResTimeStamp,表示指令碼執行開始和結束之間經過的時間(以毫秒為單位)。 PerformanceEntry.entryType只讀 實驗性-
返回條目型別,始終為
"script"。 PerformanceEntry.name只讀 實驗性-
返回條目名稱,始終為
"script"。 PerformanceEntry.startTime只讀 實驗性-
返回一個
DOMHighResTimeStamp,表示指令碼開始執行的時間(以毫秒為單位)。
此介面還支援以下屬性:
PerformanceScriptTiming.executionStart只讀 實驗性-
返回一個
DOMHighResTimeStamp,指示指令碼編譯完成並開始執行的時間。 PerformanceScriptTiming.forcedStyleAndLayoutDuration只讀 實驗性-
返回一個
DOMHighResTimeStamp,指示指令碼處理強制樣式/佈局所花費的總時間(以毫秒為單位)。請參閱 避免佈局抖動 以瞭解其原因。 PerformanceScriptTiming.invoker只讀 實驗性-
返回一個字串值,指示呼叫時執行指令碼的特性的標識。
PerformanceScriptTiming.invokerType只讀 實驗性-
返回一個字串值,指示呼叫時執行指令碼的特性的型別。
PerformanceScriptTiming.pauseDuration只讀 實驗性-
返回一個
DOMHighResTimeStamp,指示指令碼在“暫停”同步操作(例如,Window.alert()呼叫或同步XMLHttpRequest)上花費的總時間(以毫秒為單位)。 PerformanceScriptTiming.sourceCharPosition只讀 實驗性-
返回一個數字,表示導致 LoAF 的指令碼特性的字元位置。
PerformanceScriptTiming.sourceFunctionName只讀 實驗性-
返回一個字串,表示導致 LoAF 的函式的名稱。
PerformanceScriptTiming.sourceURL只讀 實驗性-
返回一個字串,表示指令碼的 URL。
PerformanceScriptTiming.window只讀 實驗性-
返回一個指向
Window物件的引用,該物件表示 LoAF 指令碼執行所在容器(即頂級文件或<iframe>)的window。 PerformanceScriptTiming.windowAttribution只讀 實驗性-
返回一個列舉值,描述 LoAF 指令碼執行所在容器(即頂級文件或
<iframe>)與運行當前文件的視窗的關係。
例項方法
PerformanceScriptTiming.toJSON()實驗性-
返回
PerformanceScriptTiming物件的 JSON 表示形式。
示例
有關 Long Animation Frames API 的示例,請參閱 長動畫幀計時。
規範
| 規範 |
|---|
| Long Animation Frames API # sec-PerformanceScriptTiming |
瀏覽器相容性
載入中…