这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
PerformancePaintTiming
接口在
Paint Timing
provides timing information about "paint" (also called "render") operations during web page construction. "Paint" refers to conversion of the render tree to on-screen pixels.
An application can register a
PerformanceObserver
for "
paint
"
performance entry types
and the observer can retrieve the times that paint events occur. Use this information to help identify areas that take too long to provide a good user experience.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="../API/PerformanceEntry" target="_top"><rect x="1" y="1" width="160" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="81" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">PerformanceEntry</text></a><polyline points="161,25 171,20 171,30 161,25" stroke="#D4DDE4" fill="none"/><line x1="171" y1="25" x2="201" y2="25" stroke="#D4DDE4"/><a xlink:href="../API/PerformancePaintTiming" target="_top"><rect x="201" y="1" width="220" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="311" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">PerformancePaintTiming</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
This interface has no properties but it extends the following
PerformanceEntry
properties (for "
paint
"
performance entry types
) by qualifying and constraining the properties as follows:
PerformanceEntry.entryType
paint
".
PerformanceEntry.name
"first-paint"
or
"first-contentful-paint"
.
PerformanceEntry.startTime
timestamp
when the paint ocurred.
PerformanceEntry.duration
Returns 0.
This interface has no methods.
function showPaintTimings() {
if (window.performance) {
let performance = window.performance;
let performanceEntries = performance.getEntriesByType('paint');
performanceEntries.forEach( (performanceEntry, i, entries) => {
console.log("The time to " + performanceEntry.name + " was " + performanceEntry.startTime + " milliseconds.");
});
} else {
console.log('Performance timing isn\'t supported.');
}
}
The code above produces console output something like the following:
The time to first-paint was 2785.915 milliseconds. The time to first-contentful-paint was 2787.460 milliseconds.
| 规范 | 状态 | 注释 |
|---|---|---|
|
Paint Timing
The definition of 'PerformancePaintTiming' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
PerformancePaintTiming
|
Chrome 60 | Edge ≤79 | Firefox ? | IE ? | Opera 47 | Safari No | WebView Android 60 | Chrome Android 60 | Firefox Android ? | Opera Android 44 | Safari iOS No | Samsung Internet Android 8.0 |
完整支持
不支持
兼容性未知
PerformancePaintTiming