从渲染速度的角度来看,放置<script>...</script>
和<style>...</style>
的最佳位置在哪里?在<head>...</head>
内,或<body>...</body>
之后或之后?还有其他任何标签可以放在<head>...</head>
<base>
之内的常规位置之外吗?
答案 0 :(得分:2)
<style>
和<link rel="stylesheet">
必须位于<head>
。如果不是,则可以在没有样式的情况下呈现页面,然后在加载样式时进行不和谐的更改。
<script>
可以在任何地方。就个人而言,我更喜欢在<head>
中加载外部JS文件(通常是定义函数的文件),影响页面本身的脚本就在</body>
之前,以确保在运行之前所有元素都可用
但是我确实有一个新编写的脚本框架,它允许我将<script>
个元素放在任何地方,但是他们的代码被推迟,所以它们就像它们放在</body>
之前一样运行。这允许我将脚本放在它们影响的页面部分附近,而不会对页面加载产生负面影响。
答案 1 :(得分:1)
正如Kolink所说,CSS样式应该放在<head>
部分,以便在没有应用样式的情况下永远不会呈现页面。
如果<scripts>
位于正文的最末端,就在<body>
标记之前,您将获得最大的页面渲染速度。这是因为可以在解析或运行脚本之前呈现页面,而不是在解析和运行脚本之后呈现页面。
<scripts>
也可以标记为defer
或async
,这将导致其加载和解析被反序列化加载和显示HTML。
这对大多数脚本都是可行的(比如响应用户事件(鼠标移动,点击,键等)的事情,但对所有事情都不可行。例如,代码使用的任何脚本{ {1}}直接进入页面内容必须在调用它们的代码之前加载,因此它通常会包含在document.write()
部分中,以便在页面被解析和布局时可用。