Google Pagespeed建议<script>作为<html>的直接子元素 - 有效的HTML?

时间:2016-09-08 15:23:03

标签: html html5 google-pagespeed

根据Google Pagespeed的推荐,同事只需将&lt; script&gt; 标记放在&lt; / body&gt; &lt; / html&gt; <之间/ code>结束标签。我的立即假设是&lt; html&gt; 仅允许&lt; head&gt; &lt; body&gt; 作为直接后代,我不能完全验证 W3C规范

&#xA;&#xA;

它说:

&#xA;&#xA;
&#xA;

内容模型:&#xA;一个head元素后跟一个body元素。

&#xA;
&#xA;&#xA;

为了说清楚,Google的网页速度建议看起来有点像这样:&#xA;

&#xA;&#xA;
 &lt;!DOCTYPE html&gt;&#xA;&lt; html&gt;&#xA; &LT; HEAD&GT; ...&LT; /头&GT;&#XA; &LT;身体GT; ...&LT; /体&GT;&#XA; &LT;脚本&GT; ...&LT; /脚本&GT;&#XA; &LT;脚本&GT; ...&LT; /脚本&GT;&#XA; &LT;脚本&GT; ...&LT; /脚本&GT;&#XA; &lt; script&gt; ...&lt; / script&gt;&#xA;&lt; / html&gt;&#xA;  
&#xA;&#xA;

有谁知道更好或更多准确地并且可以提供相关信息的链接吗?

&#xA;

1 个答案:

答案 0 :(得分:1)

内容模型非常清楚地表明:html元素可以合法拥有的唯一子元素是head元素,后跟body元素。不是单独的头部元素,不是单独的身体元素,不是头部后面的身体,当然也不是任何其他元素。有许多上下文可以出现脚本元素,但它必须始终是head元素或body元素的后代。

谷歌以推荐作者忽视标准而不是最后一点性能而闻名,特别是当这样做时,不知道会产生任何不利影响或导致任何不同的浏览器行为。这取决于他们想要遵循的指南。