【问题标题】:should jQuery files always be inside <head>?jQuery 文件应该总是在 <head> 中吗?
【发布时间】:2011-06-26 09:18:06
【问题描述】:

jquery 相关的代码外部文件(插件等)是否应该始终在 html 的头部,或者它也可以包含在 body 的某个位置?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    可以包含但在&lt;script type="text/javascript" language="javascript"&gt;&lt;/script&gt;标签中

    看看这篇文章:

    • Best practices for modern Javascript development
      • 使用正确的标签
      • 将代码保存在外部文件中
      • 不要在 HTML cmets 中包装代码
      • 始终使用 var 声明变量
      • 保持代码不显眼
      • 在 HTML 文件的底部包含脚本
      • 使用JSLint
      • 不要使用 document.write

    【讨论】:

      【解决方案2】:

      它不需要在页面底部,也可以在页面底部。出于性能原因,最好在最后加载 jquery。

      【讨论】:

      • 但是,如果你这样做,在此之前你不能执行任何jQuery代码
      【解决方案3】:

      jquery 是 javascript,所以它应该在 body 中工作,但是,对于像我这样的 oop 程序员来说,一个好的编码标准是尽可能将它放在不同的文件中,并且只将 head 用于小事情。如果我能帮上忙,我不倾向于使用身体,因为那里通常会发生很多事情!你想做什么?

      【讨论】:

      • 实际上我正在尝试构建一个基本模板,其中我有一个通用标题。我在所有页面上调用标题,但仅在少数页面上需要一些 jquery 插件,这就是为什么我只想将 jquery 相关文件包含到这些页面中。有什么想法吗?
      • 你使用的是php还是asp.net?任何类型的母版页都应该有一个地方可以在每页的头部添加额外的东西,以使其在最终使用中最灵活
      【解决方案4】:

      不,他们不这样做,但请记住,&lt;head&gt; 部分中的任何内容都会在 &lt;body&gt; 中的元素之前加载。

      【讨论】:

        【解决方案5】:

        不一定。传统上,javascript 代码是放在&lt;head&gt; 标记中的,但您也可以将它放在&lt;body&gt; 标记中。

        根据Yahoo performance article,您应该将代码放在页面末尾&lt;/body&gt; 标记之前。

        引用:

        将脚本放在底部

        脚本引起的问题是 他们阻止并行下载。这 HTTP/1.1 规范建议 浏览器下载不超过两个 每个主机名并行的组件。 如果您从多个 主机名,您可以获得两个以上 下载并行发生。 虽然 一个脚本正在下载,但是, 浏览器不会启动任何其他 下载,即使在不同的 主机名。

        在某些情况下,这并不容易 将脚本移至底部。如果,对于 例如,脚本使用 document.write 插入部分 页面内容,不能移动 在页面下方。也可能有 范围界定问题。在很多情况下,有 是解决这些问题的方法 情况。

        另一种建议,通常 出现的是使用延迟脚本。 DEFER 属性表示 脚本不包含 document.write,是一个线索 他们可以继续的浏览器 渲染。不幸的是,火狐 不支持 DEFER 属性。 在 Internet Explorer 中,脚本可能 推迟,但不至于 想要的。如果可以推迟脚本, 也可以移到底部 这页纸。 这将使您的网络 页面加载速度更快


        如果您正在操作 DOM,则需要确保 javascript 代码能够通过将 DOM 元素放置在适当的位置来找到它。您也可以为此使用window.onload 事件。

        【讨论】:

          【解决方案6】:

          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 之类的工具来进一步改善加载。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-04
            • 2012-01-10
            相关资源
            最近更新 更多