在身体标记结束之前放置jQuery / javascript源页面

我已经在几个插件指令中看到,在body标记结束之前粘贴javascript / jQuery源代码。 我做了搜索,为什么他们这样说,没有任何意义。

如果我将src文件放在脚本中的任何地方,我根本不会遇到任何问题。 谁能给我一个很好的答案呢?

如果javascript代码没有引用DOM或DOM中的任何对象,那么它可以放在页面的任何位置。

如果您将HTML放在标记之前的标签中,那么在脚本加载之前将对页面进行解析和显示,这样可以更快地显示页面。 因此,您看到的建议是最大化页面的初始显示性能。

如果javascript引用了DOM或DOM中的任何对象,那么它必须要么具有特殊的代码来等待在jQuery中使用$(document).ready(fn)类的东西加载DOM,或者代码必须是物理的在DOM之后加载,以便在加载DOM之前它不会执行。

当然,代码必须在其初始执行立即依赖的任何代码之后加载。 因此,需要在jQuery库本身之后加载jQuery插件。

这是一套通用指南:

  1. 在页面中尽可能晚地放置代码,以最大限度地提高页面的显示性能。
  2. 将代码放在其初始执行所依赖的任何其他库之后。
  3. 仅当代码需要在文档加载之前执行或使用时,才将代码放在部分中。 例如,如果您的代码正在检查URL和cookie并决定是否进行客户端重定向,那么您希望该代码立即执行,以便您可以将该代码放在部分中,以便它可以在之前执行DOM加载或显示。 作为另一个例子,如果你有一些内联javascript需要在页面加载期间可用的某些函数(例如一些内联javascript,它执行document.write()并调用一些实用程序函数),那么将这些实用程序函数放在部分,以便在页面加载时可用。
  4. 如果在页面加载之前没有理由执行代码,或者代码需要访问DOM本身,那么将代码放在标记之前以优化页面显示时间并将代码放置在DOM准备好的位置代码运行时的操作。
  5. 尽可能将代码放在外部JS文件中,以最大限度地利用浏览缓存。