0

window.performance.timing目前我在一个window.addEventListener('load', function () {...})函数中读取值。但是在 safari 中,有些值loadEventEnd仍然设置为0.

如何以window.performance.timing基于事件的最佳方式延迟我的呼叫,直到定义此值和其他值?

4

1 回答 1

0

在加载事件中做一个额外的延迟。

window.addEventListener('load', check)

function check() {
  if (performance.getEntriesByType("navigation")[0].loadEventEnd && other_values()) {
    callToPerformanceTiming()
  }
  else setTimeout(check, 0); //put it back in queue
}

只要loadEventEnd0重复检查。
你也可以 在你做之前检查它是否已经other_values()通过
callToPerformanceTiming()

于 2019-05-16T15:33:38.263 回答