查看: 218|回复: 2

谁能解释一下这个问题

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
5868
人气
156
分享
52

最佳新人活跃会员

发表于 2023-3-13 18:15:56 | 显示全部楼层 |阅读模式
一个网站,代码先后顺序是:
编码
标题
图标
背景图
js弹窗

那为什么JS没加载完的时候,图标和背景都加载不出来?
@hjz713


你干嘛~哎哟

0

技术

2

魅力

1

原创

版主

禁止发言

Rank: 7Rank: 7Rank: 7

积分
4739
人气
145
分享
54

最佳新人活跃会员灌水之王

发表于 2023-3-13 19:26:32 | 显示全部楼层
本帖最后由 hjz713 于 2023-3-13 19:55 编辑

在JS没有加载完成时都会这样,我管这样叫“堵路”。
在网页中,JS的位置是重要的,所以要把它当大哥,放前面
否则就会强称大哥,堵住后面CSS(background)与IMG(图标)的路,影响他们的加载,纵使网页加载变慢。
原因


    • JS 运行在浏览器中,是单线程的,每个 window 一个 JS 线程,当然会阻塞后续的解析。
    • JS 有可能会修改 DOM 结构,给 DOM 添加样式等等,所以这就意味着在当前 JS 加载执行完成前,后续资源的加载可能是没有意义的。

建议直接放到head里,必须时可以放在body结束前。
补充小贴士:
CSS会堵JS的路,但是复杂,感兴趣可以搜来看。
所以,你懂了吗?







一只压力超大的屑

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
5868
人气
156
分享
52

最佳新人活跃会员

 楼主| 发表于 2023-3-14 21:14:45 | 显示全部楼层
hjz713 发表于 2023-3-13 19:26
在JS没有加载完成时都会这样,我管这样叫“堵路”。
在网页中,JS的位置是重要的,所以要把它当大哥,放前 ...

懂了懂了

评分

参与人数 1人气 +2 收起 理由
hjz713 + 2 很给力!

查看全部评分

你干嘛~哎哟
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表