假设我有一个相当大的JavaScript文件,压缩到大约100kb左右。这里的文件指的是一个外部文件,可以通过<script src="…">,而不是粘贴到HTML本身。
在HTML中把它放在哪里最好?
<html>
<head>
<!-- here? -->
<link rel="stylesheet" href="stylez.css" type="text/css" />
<!-- here? -->
</head>
<body>
<!-- here? -->
<p>All the page content ...</p>
<!-- or here? -->
</body>
</html>
每个选项之间是否有任何功能差异?
根据经验,放置<script>标记的最佳位置是页面底部,就在</body>标记之前。就像这样:
<html>
<head>
<title>My awesome page</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="...">
<link rel="stylesheet" type="text/css" href="...">
<link rel="stylesheet" type="text/css" href="...">
<link rel="stylesheet" type="text/css" href="...">
</head>
<body>
<!-- Content content content -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="..."></script>
<script type="text/javascript" src="..."></script>
<script type="text/javascript" src="..."></script>
</body>
</html>
Why?
脚本造成的问题是它们会阻塞并行下载。HTTP/1.1规范建议浏览器在每个主机名上并行下载不超过两个组件。如果从多个主机名提供映像,则可以同时进行两次以上的下载。然而,在下载脚本时,浏览器不会启动任何其他下载,即使是在不同的主机名上。更多…
CSS
有点跑题了,但是…把样式表放在顶部。
在Yahoo!之后,我们发现将样式表移动到文档HEAD会使页面加载更快。这是因为将样式表放在HEAD中允许页面逐步呈现。更多…
进一步的阅读
雅虎发布了一个非常酷的指南,列出了加快网站速度的最佳实践。绝对值得一读:
https://developer.yahoo.com/performance/rules.html