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

时间:2016-12-26 12:45:24

标签: css w3c-validation preload google-pagespeed

我正在尝试满足2个检查器:W3C validatorgoogle page insight

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

 ...
    <link rel="preload" href="mystyles.css" media="all" as="style" 
                     onload="this.rel='stylesheet'"/>
</body>

Google Page Insight迫使我从脑袋中取出它并将其放在身体末端。

好的,我可以反对Google Page Insight。

W3C Validator 现在说我:

  

错误:链接元素不能显示为body元素的后代,除非link元素具有itemprop属性或者具有rel属性,其值包含dns-prefetch,pingback,preconnect,prefetch,prerender或stylesheet

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

2 个答案:

答案 0 :(得分:6)

W3C HTML检查程序(验证程序)的维护者。原因只是一个检查错误。在I added rel=preloadsupport to the checker时,我忘记将其添加到检查器代码比较的rel值列表中,以确定正文中是否允许使用特定的link元素。

无论如何,I’ve now fixed it in the checker sources并将修正推送到https://validator.w3.org/nu/

因此,检查器将不再报告上述代码段的错误。谢谢你抓住这个。

答案 1 :(得分:0)