下面是我的js函数代码。
console.log(window.performance.timing);
console.log(window.performance.timing.domContentLoadedEventStart);当我通过运行我的js file来运行上面的代码时,window.performance.timing返回一个object,其中domContentLoadedEventStart有一些值。但是,当我试图打印window.performance.timing.domContentLoadedEventStart时,它返回0。
不知道发生了什么。谁能解释一下。
发布于 2017-10-24 09:48:05
window.performance.timing
此属性有一个描述页面的PerformanceTiming对象。
PerformanceTiming.domContentLoadedEventStart
PerformanceTiming.domContentLoadedEventStart属性的值表示解析器发送事件之前的时刻,即自UNIX时代以来的毫秒内。
DOMContentLoaded事件
DOMContentLoaded事件是在初始的HTML被完全加载和解析后触发的,而不需要等待样式表、图像和子框架来完成加载。
window.performance.timing.domContentLoadedEventStart给你0的原因
您的脚本是在DOMContentLoaded事件发生之前执行的,所以在解析器发送DOMContentLoaded事件的那一刻,当时是未知的。
为了防止
为了防止PerformanceTiming.domContentLoadedEventStart成为0,您必须在DOMContentLoaded事件发生后引用它。试试这个:
document.addEventListener("DOMContentLoaded", event => {
console.info("DOM fully loaded and parsed.");
console.info(window.performance.timing.domContentLoadedEventStart);
});或
<script defer src="...">。
https://stackoverflow.com/questions/46906562
复制相似问题