Css 链接样式表预加载与W3C验证

Css 链接样式表预加载与W3C验证,css,w3c-validation,preload,google-pagespeed,Css,W3c Validation,Preload,Google Pagespeed,我试着满足两个棋子:和 Google Page Insight建议我异步加载所有阻塞的CSS文件。我已经以预加载的方式重写了样式表文件包含,如下所示,并从头到尾延迟: ... <link rel="preload" href="mystyles.css" media="all" as="style" onload="this.rel='stylesheet'"/> </body> 。。。 GooglePage In

我试着满足两个棋子:和

Google Page Insight建议我异步加载所有阻塞的CSS文件。我已经以预加载的方式重写了样式表文件包含,如下所示,并从头到尾延迟:

 ...
    <link rel="preload" href="mystyles.css" media="all" as="style" 
                     onload="this.rel='stylesheet'"/>
</body>
。。。
GooglePage Insight强迫我从头部取出,放在身体的末端

好吧,我对谷歌页面洞察没意见

但是W3C验证器现在告诉我:

错误:除非链接元素具有itemprop属性或其值包含dns预回迁、pingback、预连接、预回迁、预呈现或样式表的rel属性,否则链接元素不得显示为body元素的后代


为什么头部的rel属性中不允许“预加载”?我试图分配一个itemprop,但不可能在同一个链接中有itemprop和rel。

这里是W3C HTML检查器(验证器)的维护者。造成这种情况的原因只是一个检查程序错误。当我忘记将其添加到检查代码比较的
rel
值列表中,以确定是否允许在正文中使用特定的
链接
元素

无论如何,并将修复推到

因此,检查器将不再报告上述代码段的错误。谢谢您的关注。

我举了一个例子

<!DOCTYPE html>
<html lang="">
<head>
<title>Test</title>
<link rel="preload" href="style.css" as="style">
<link rel="stylesheet" href="style.css">
</head>
<body>
<p></p>
</body>
</html>

试验

回归成功


查看链接预加载是一个草稿,正在进行中。W3验证器基于当前的标准。如何阅读公认的答案,W3C维护人员很久以前就修复了验证器。