我试图了解HTML页面加载和通过Javascript请求延迟的外部资源之间发生了什么。
在本地测试(不需要DNS查找)

为什么浏览器看起来像是在浪费“很多时间”,什么也不做?
我的页面是空的。它只包含超文本标记语言、头部和身体骨架,以及在页面加载后调用jQuery所需的Javascript代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
Demo
<script type="text/javascript">
function downloadJSAtOnload(){
var b = document.getElementsByTagName('body')[0];
var s = document.createElement("script"); s.async = true;
s.src = "jquery.min.js"
b.appendChild(s);
}
if (window.addEventListener){
window.addEventListener("load", downloadJSAtOnload, false);
}else if (window.attachEvent){
window.attachEvent("onload", downloadJSAtOnload);
}else{
window.onload = downloadJSAtOnload;
}
</script>
</body>
</html>是因为onload事件需要一些时间才能触发吗?
发布于 2018-01-08 02:09:16
我不能重现它,但这里有一些方法可以进一步研究。
负载性能记录
Record page load performance。将网络图表与 main 图表对齐,以将网络请求映射到主线程活动。也许CPU正在做一些工作(也许是Chrome扩展),这延迟了load事件。请参阅Analyzing Runtime Performance以熟悉UI (该教程介绍了运行时性能,但load perf UI是相同的)。
真实用户监控指标
使用User Timing API或Navigating Timing attributes检测代码,以进一步测量脚本何时开始运行、何时触发load事件侦听器等。
如果这些有帮助,请告诉我!
https://stackoverflow.com/questions/48131179
复制相似问题