【发布时间】:2011-06-26 09:18:06
【问题描述】:
jquery 相关的代码外部文件(插件等)是否应该始终在 html 的头部,或者它也可以包含在 body 的某个位置?
【问题讨论】:
标签: jquery
jquery 相关的代码外部文件(插件等)是否应该始终在 html 的头部,或者它也可以包含在 body 的某个位置?
【问题讨论】:
标签: jquery
可以包含但在<script type="text/javascript" language="javascript"></script>标签中
看看这篇文章:
【讨论】:
它不需要在页面底部,也可以在页面底部。出于性能原因,最好在最后加载 jquery。
【讨论】:
jquery 是 javascript,所以它应该在 body 中工作,但是,对于像我这样的 oop 程序员来说,一个好的编码标准是尽可能将它放在不同的文件中,并且只将 head 用于小事情。如果我能帮上忙,我不倾向于使用身体,因为那里通常会发生很多事情!你想做什么?
【讨论】:
不,他们不这样做,但请记住,<head> 部分中的任何内容都会在 <body> 中的元素之前加载。
【讨论】:
不一定。传统上,javascript 代码是放在<head> 标记中的,但您也可以将它放在<body> 标记中。
根据Yahoo performance article,您应该将代码放在页面末尾</body> 标记之前。
引用:
将脚本放在底部
脚本引起的问题是 他们阻止并行下载。这 HTTP/1.1 规范建议 浏览器下载不超过两个 每个主机名并行的组件。 如果您从多个 主机名,您可以获得两个以上 下载并行发生。 虽然 一个脚本正在下载,但是, 浏览器不会启动任何其他 下载,即使在不同的 主机名。
在某些情况下,这并不容易 将脚本移至底部。如果,对于 例如,脚本使用 document.write 插入部分 页面内容,不能移动 在页面下方。也可能有 范围界定问题。在很多情况下,有 是解决这些问题的方法 情况。
另一种建议,通常 出现的是使用延迟脚本。 DEFER 属性表示 脚本不包含 document.write,是一个线索 他们可以继续的浏览器 渲染。不幸的是,火狐 不支持 DEFER 属性。 在 Internet Explorer 中,脚本可能 推迟,但不至于 想要的。如果可以推迟脚本, 也可以移到底部 这页纸。 这将使您的网络 页面加载速度更快。
如果您正在操作 DOM,则需要确保 javascript 代码能够通过将 DOM 元素放置在适当的位置来找到它。您也可以为此使用window.onload 事件。
【讨论】:
You can use a SCRIPT element either in HEAD, BODY, or wherever an inline element is allowed.
此外,许多人建议put SCRIPT at the end of BODY 改进文档的加载。您还可以使用Head JS 之类的工具来进一步改善加载。
【讨论】: