我正在尝试满足2个检查器:W3C validator和google 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。
答案 0 :(得分:6)
W3C HTML检查程序(验证程序)的维护者。原因只是一个检查错误。在I added rel=preload
support to the checker时,我忘记将其添加到检查器代码比较的rel
值列表中,以确定正文中是否允许使用特定的link
元素。
无论如何,I’ve now fixed it in the checker sources并将修正推送到https://validator.w3.org/nu/。
因此,检查器将不再报告上述代码段的错误。谢谢你抓住这个。
答案 1 :(得分:0)