如何等待 window.performance.timing 中的所有值都已定义
How to wait for all values in window.performance.timing are defined
目前我在 window.addEventListener('load', function () {...})
函数中读取 window.performance.timing
中的值。然而在 safari 中,像 loadEventEnd
这样的值仍然被设置为 0
.
如何以基于事件的最佳方式延迟对 window.performance.timing
的调用,直到定义此值和其他值?
在加载事件中做一个额外的延迟。
window.addEventListener('load', check)
function check() {
if (performance.getEntriesByType("navigation")[0].loadEventEnd && other_values()) {
callToPerformanceTiming()
}
else setTimeout(check, 0); //put it back in queue
}
只要 loadEventEnd
是 0
,就会重复检查。
您也可以检查other_values()
非常安全
它在您执行 callToPerformanceTiming()
之前通过
目前我在 window.addEventListener('load', function () {...})
函数中读取 window.performance.timing
中的值。然而在 safari 中,像 loadEventEnd
这样的值仍然被设置为 0
.
如何以基于事件的最佳方式延迟对 window.performance.timing
的调用,直到定义此值和其他值?
在加载事件中做一个额外的延迟。
window.addEventListener('load', check)
function check() {
if (performance.getEntriesByType("navigation")[0].loadEventEnd && other_values()) {
callToPerformanceTiming()
}
else setTimeout(check, 0); //put it back in queue
}
只要 loadEventEnd
是 0
,就会重复检查。
您也可以检查other_values()
非常安全
它在您执行 callToPerformanceTiming()