如何判断哪些javascript可以放在底部或哪些必须放在?

时间:2010-01-08 03:41:27

标签: javascript jquery xhtml

我们可以用3种方式放置JavaScript吗?

  1. 作为外部文件
  2. in <head>
  3. in body <body>
  4. 所有方法都由W3C有效吗?

    那么如何判断JavaScript应放在底部的位置,或者哪些必须位于<head><body>

    1. 我在很多网站上看过JavaScript
    2. in <head>
    3. 作为外部js,
    4. 就在</body>
    5. 之前
    6. <body>....<body>中的某个时间 例如:在任何其他XHTML之前 要影响的标签/代码 使用该JavaScript代码。
    7. 更新 我看到大多数人使用谷歌分析代码作为底层的内联JavaScript?

5 个答案:

答案 0 :(得分:6)

在我的编码中,我遵循以下关于JS组织的规则:

  1. 任何对时间不敏感和/或在加载文档后运行的JS都会被放入外部js文件并包含在head
  2. 任何需要尽快运行的JS都会放在适当的DOM中(例如,如果您希望在加载必要的元素后立即运行某些代码,则将代码直接放在最后一个依赖元素的下方)
  3. Nielsen / Google等任何外部跟踪库都会在收看body代码
  4. 之前的底部

答案 1 :(得分:3)

答案 2 :(得分:1)

在大多数情况下,Javascript应该作为外部文件,以允许缓存并避免在每次页面加载时重新下载完全相同的100 + -line脚本。 (另一方面,如果它是一个脚本,你只希望用户看过一次,那么内联就好了。)

无论是头部还是身体都是你的选择,不过Yahoo recommends the bottom of the body for performance

答案 3 :(得分:0)

如果您关注页面加载时间,那么google article最小化有效负载大小可能有所帮助。我已经链接到有关延迟加载javascript的部分。不完全是你要求的,但可能会派上用场。

事实上,http://code.google.com/speed/非常方便!

答案 4 :(得分:0)

我通常会尽可能多地放入外部js文件中。对此的主要例外是在加载时注入页面服务器端的信息。我倾向于将一个非特定于一个页面的内容推送到库/站点js文件中。如果您不需要内联脚本(即:document.write),那么最好在结束体标记之前将脚本推到底部(参见YSlow和yahoo对其原因的研究)。

  1. 如果页面/脚本不是 NEED document.write,请将其放在底部。
  2. 如果它 NEED document.write评估原因。
  3. 如果可以轻易地将其外化(分成.js),请执行此操作。
  4. 如果它不是特定于一个页面,请将其放入多个页面使用的.js中。
  5. 尽可能将自定义网站脚本合并为单个.js。
  6. 缩小/缩小说.js并尽可能使用http压缩。
  7. 主要原因是:

    1. 将您的标记与脚本分开。
    2. 将您的标记与脚本分开。
    3. 将您的标记与脚本分开(尽可能与css相同)
    4. 创建可重用脚本包括减少服务器请求。
    5. 减少服务器请求
    6. 缩短传输文件的时间。