首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Javascript导致FOUC

为什么Javascript导致FOUC
EN

Stack Overflow用户
提问于 2013-01-16 18:44:33
回答 2查看 614关注 0票数 1

我正在开发包含大量Javascript和jQuery的遗址 --据我所知,其中大部分都是在文档准备好后触发加载的。但是,当页面加载时,您将得到大约一秒的白色FOUC。但是如果您完全禁用Javascript,则根本没有白色闪存。

如何确保Javascript在页面加载之后才开始加载?它已经被广泛的使用了

代码语言:javascript
复制
 $(document).ready(function(){ /*. . .*/});

..。所以Javascript不应该在页面完成加载和呈现之前触发.对吗?但是不知怎么的,页面在呈现之前等待脚本完成--尽管它不需要,因为页面看起来仍然很好,Javascript完全禁用了。

EN

回答 2

Stack Overflow用户

发布于 2013-01-16 18:57:08

我要尝试的第一件事是重新排序您的脚本和样式标记,以便所有外部css文件都包含在任何javascript文件之前。

我使用Chrome的开发工具进行了审计,发现了包含在javascript文件下面的13个样式表。因为浏览器通常只允许两个并发连接,所以如果html被加载,但是样式表下载在其他资源后面排队,您可以看到这个闪存。

这也解释了为什么在评论中,很多其他人很难复制你看到的东西--他们有不同的连接速度等等。

票数 1
EN

Stack Overflow用户

发布于 2013-01-16 19:01:21

$(document).ready()意味着DOM已经准备好了,但不一定是页面已完全加载。如果要等到页面加载后,请使用body onload或window onload事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14365447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档