过去,所有的 <script> 元素都被放在 标签内,如这样:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="example1.js"></script>
<script src="example2.js"></script>
</head>
<body>
<!-- 这里是页面内容! -->
</body>
</html>
这种做法将所有的css和JavaScript文件都放在 元素中,会导致页面渲染的明显延迟,在此期间浏览器窗口完全空白,很影响用户体验。因为这样做也就意味着必须把所有的JavaScript代码下载,解析和解释完毕后,才能开始渲染页面(页面在解析到 的起始标签时开始渲染)。为解决这个问题,现代Web应用程序通常将所有的JavaScript引用放在 元素中的页面内容的后面。
这样一来,页面在处理JavaScript代码之前渲染页面,用户感觉页面加载更快了,因为浏览器显示空白的时间更短了。