在HTML文档中嵌入JavaScript时,在哪里放置<script>标记和包含的JavaScript?我似乎记得,你不应该把这些放在<head>部分,但放在<body>部分的开头也是不好的,因为JavaScript必须在页面完全呈现之前进行解析(或类似的)。这似乎将<body>部分的结尾作为<script>标记的逻辑位置。

那么,哪里是放置<script>标记的正确位置?

(这个问题引用了这个问题,其中建议将JavaScript函数调用从<a>标记移动到<script>标记。我专门使用jQuery,但更一般的答案也是合适的。)


当前回答

您可以将大多数<script>引用放在<body>的末尾。

但是,如果页面上有使用外部脚本的活动组件,那么它们的依赖项(.js文件)应该在前面(最好在head标记中)。

其他回答

在结尾包含脚本主要用于首先显示网页内容/样式的地方。

在头中包含脚本可以很早加载脚本,并且可以在加载整个网页之前使用。

如果最后输入了脚本,则只有在加载了整个样式和设计之后才进行验证,这对于快速响应的网站来说是不受欢迎的。

事实证明,它无处不在。

您可以使用类似jQuery的方法来延迟执行,这样它放在哪里就不重要了(除了解析过程中的小性能影响)。

雅虎推广的标准建议!卓越性能团队,将<script>标记放在文档的<body>元素的末尾,这样它们就不会阻止页面的呈现。

但有一些新的方法可以提供更好的性能,正如我在另一个关于Google Analytics JavaScript文件加载时间的回答中所描述的:

Steve Souders(客户端性能专家)的一些精彩幻灯片介绍了:并行加载外部JavaScript文件的不同技术它们对加载时间和页面呈现的影响浏览器显示什么样的“正在进行”指示符(例如状态栏中的“加载”、沙漏鼠标光标)。

如果您使用的是jQuery,那么将JavaScript代码放在您认为最好的地方,并使用$(document).ready()确保在执行任何函数之前正确加载。

附带说明:我喜欢<head>部分中的所有脚本标记,因为这似乎是最干净的地方。

    <script src="myjs.js"></script>
</body>

脚本标记应始终在正文关闭之前使用,或在HTML文件的底部使用。

页面将加载HTML和CSS,稍后将加载JavaScript。

如果需要,请选中此项:

http://stevesouders.com/hpws/rule-js-bottom.php