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

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

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


当前回答

根据脚本及其用法,最好的方法(在页面加载和渲染时间方面)可能不是使用常规的<script>-标记本身,而是动态地异步触发脚本加载。

有一些不同的技术,但最直接的方法是在触发window.onload事件时使用document.createElement(“script”)。然后,当页面本身已呈现时,首先加载脚本,从而不会影响用户等待页面出现的时间。

这自然要求渲染页面时不需要脚本本身。

有关更多信息,请参阅SteveSouders(YSlow的创建者,现供职于谷歌)撰写的耦合异步脚本。

其他回答

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

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

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

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

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

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

如果需要,请选中此项:

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

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

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

根据脚本及其用法,最好的方法(在页面加载和渲染时间方面)可能不是使用常规的<script>-标记本身,而是动态地异步触发脚本加载。

有一些不同的技术,但最直接的方法是在触发window.onload事件时使用document.createElement(“script”)。然后,当页面本身已呈现时,首先加载脚本,从而不会影响用户等待页面出现的时间。

这自然要求渲染页面时不需要脚本本身。

有关更多信息,请参阅SteveSouders(YSlow的创建者,现供职于谷歌)撰写的耦合异步脚本。

这取决于。如果您正在加载一个脚本,该脚本是设置页面样式所必需的/使用页面中的操作(如单击按钮),那么最好将其放在顶部。如果你的样式是100%CSS,并且你有所有按钮操作的回退选项,那么你可以把它放在底部。

或者最好的做法(如果这不是问题)是,你可以制作一个模态加载框,将JavaScript代码放在页面底部,并在加载脚本的最后一行时使其消失。这样可以避免用户在加载脚本之前在页面中使用操作。也要避免不正确的造型。