我实际上会用多个选项来回答这个问题,其中一些实际上是在体内渲染的。
- 将库脚本(例如jQuery库)放在头部。
- 将普通脚本放在头部,除非它成为性能/页面加载问题。
- 与包含相关联的放置脚本,该包含之内以及结尾处。一个示例是asp.net页面中的.ascx用户控件-将脚本放在该标记的末尾。
- 将影响页面渲染的脚本放在正文的末尾(在正文关闭之前)。
- 不要将脚本放置在标记中,例如
<input onclick="myfunction()"/>
-最好将其放在脚本主体的事件处理程序中。 - 如果您不能决定,请将其放在首位,直到您有理由避免诸如页面阻塞问题。
脚注:“当您需要而不是之前时”适用于页面阻塞时的最后一项(感知加载速度)。用户的感知 就是 他们的现实-
如果感知到加载速度更快,它的加载速度也会更快(即使代码中可能仍会发生某些事情)。
附注:如果您放置标记内脚本块,它可能在某些浏览器的占用空间影响布局(IE7和歌剧9.2,已知有这个问题),所以将它们装入隐藏DIV(使用一个CSS类,如:
.hide{ display: none; visibility: hidden; }上div)EDIT2:请注意,只要有可能(总是?),就应该将实际的Javascript放在外部文件中并引用这些文件-这不会改变相关的序列有效性。



