javascript - 如何等待 window.performance.timing 中的所有值都被定义
问题描述
window.performance.timing
目前我在一个window.addEventListener('load', function () {...})
函数中读取值。但是在 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()
推荐阅读
- node.js - 签署包含 JWT 的 cookie 是否是个好主意?
- c++ - conan make generator 未按预期设置 CONAN_CXXFLAGS
- java - 如何在java中关闭一个类
- python - 将多个熊猫数据框除以标量
- python - 应用配置中找不到指定的模块错误
- javascript - 如何使用javascript获取数组中的特定键值
- java - 编写一个添加到链表末尾的函数
- traefik - 如何配置 traefik 2.2 转发 url 和删除关键字
- validation - 在 CloudFormation 模板中输入所需的参数
- python - 从前一帧和光流创建帧