Twitter 什么是数据fouc类名=";快速装载;?

Twitter 什么是数据fouc类名=";快速装载;?,twitter,fouc,Twitter,Fouc,我注意到Twitter源代码顶部有以下内容: data-fouc-class-names="swift-loading" 快速的谷歌搜索发现了一些其他的网站也使用这个,但我找不到任何描述它的用途的东西。将它加入到这样一个流行网站的标记中(由于被使用而多次启动)一定会使它有所用处 我熟悉“flash of unstyled content”又名“FOUC”的概念,但我很好奇这段代码具体与什么有关。我注意到它只在某些网站上为IE8添加。我相信它是为了定义IE的fouc类名而添加的 Fouc(未设置

我注意到Twitter源代码顶部有以下内容:

data-fouc-class-names="swift-loading"
快速的谷歌搜索发现了一些其他的网站也使用这个,但我找不到任何描述它的用途的东西。将它加入到这样一个流行网站的标记中(由于被使用而多次启动)一定会使它有所用处


我熟悉“flash of unstyled content”又名“FOUC”的概念,但我很好奇这段代码具体与什么有关。

我注意到它只在某些网站上为IE8添加。我相信它是为了定义IE的fouc类名而添加的

Fouc(未设置样式内容的flash)只是一种显示怪癖,Win IE中的某种页面会闪烁,当您导入css样式时就会发生这种情况

因此,他们可能会将该类添加到可能的fouc对象中,并使用该类名仅影响解决方案中的那些对象

您可以在此处测试fouc:


如果查看第38-40行,您可以在此处找到更多信息

<script id="swift_loading_indicator">
   document.documentElement.className=document.documentElement.className+" "+document.documentElement.getAttribute("data-fouc-class-names");
</script>

document.documentElement.className=document.documentElement.className+“”+document.documentElement.getAttribute(“数据fouc类名”);
这将更改文档元素类以包含此属性中设置的值

这允许css在页面和javascripts加载时隐藏“未格式化内容的闪现”

稍后,脚本将删除此类以允许加载完全加载的页面

它似乎还用于ajax页面加载代码中,以允许隐藏加载内容,并且仅在加载所有内容后才显示内容


以名称
data-
开头的属性是HTML5规范的一部分,表示私有数据。它们允许网页在网页中存储信息,而不破坏通过HTML5验证程序的验证

我注意到,在某些网站中,它仅为IE8添加。