为什么在HTML开始下载之前第一次出现涂料?

时间:2018-01-31 19:33:36

标签: javascript google-chrome navigation-timing-api rum

我正在使用Navigation Timing API收集数据。

具体来说,这四个指标:

// Time spent during redirection
var redirectTime = performance.timing.redirectEnd - performance.timing.redirectStart;

// DNS query time
var lookupDomainTime = performance.timing.domainLookupEnd - performance.timing.domainLookupStart;

// TCP connection time
var connectTime = performance.timing.connectEnd - performance.timing.connectStart;

// Time to first paint, in milliseconds.
var firstPaintTime = window.chrome.loadTimes().firstPaintTime * 1000 - performance.timing.navigationStart;

我经常发现redirectTime + lookupDomainTime + connectTime > firstPaintTime。如果Chrome的第一个绘制指标是从navigationStart计算的,那么这意味着在下载任何HTML之前,第一个绘制 。这似乎是不可能的。

如果firstPaintTime不是从window.performance.timing.navigationStart开始计算的,那么它的计算点是什么时候?

1 个答案:

答案 0 :(得分:2)

这样做是为了让最后一页/标签的主题颜色或背景颜色保持不变,直到新页面显示出它需要的颜色。

这可以防止白色闪光从暗页进入暗页。

您可以在此处详细了解去年初次更改的更改: https://bugs.chromium.org/p/chromium/issues/detail?id=470669 门票和虫子有一个兔子洞,所以你可能需要探索才能全面了解。