是否有关于如何加载javascript的一揽子规则。我看到人们说它现在应该放在页面的末尾。
思想?
答案 0 :(得分:8)
将其放在文档末尾的想法是确保在尝试引用文档中的元素之前已下载文档的全部内容。如果首先加载JavaScript,则代码可能会在文档未准备好时查找元素。
jQuery使用ready
函数解决了这个问题:
绑定要执行的函数 每当DOM准备就绪时 遍历和操纵。
这可能是最重要的 事件模块中包含的功能, 因为它可以大大改善响应 您的网络应用程序的时间。
还有一些性能注意事项建议在页面底部包含JavaScript 文件 - 这是因为下载JavaScript文件可能会阻止所有其他HTTP请求(对于图像,CSS,等)直到完成。
答案 1 :(得分:3)
根据您想要实现的目标,有两种情况(至少)。如果您需要脚本或脚本中包含的功能(如函数库),可以在页面加载之前或期间使用,那么您应该在head标记中加载JavaScript代码。 如果你需要做一些需要一些资源,这些资源只有在加载页面之后才能使用(DOM资源),而不是你应该在页面底部加载脚本(这也可以使用onDOMReady事件来解决)已经在大多数JavaScript框架中可用)。 可能还有一些性能问题可能决定您的决定。例如,有些情况下,在head标记中加载脚本或脚本会降低页面呈现速度,如果您可以提供基本功能以及呈现页面,直到脚本完全正常运行,那么脚本或脚本应该再次加载到底部。 这或多或少是基于您需要做的决定。
答案 2 :(得分:2)
没有规则:如果你想首先加载Js,你就把它放在头脑中。如果你想让它成为浏览器加载的最后一件事,你可以把它放在底部。
对于可以通过JS使用的网站,您可能希望将其放在首位。对于降级很好的网站,你会关注雅虎!推荐并让页面渲染,然后加载脚本。
N.B:这与在加载DOM之前或之后执行脚本无关。这个问题不是真正的问题,大多数情况下你使用onload或$ .ready等效。这是关于文件实际加载而不是执行的时间。
答案 3 :(得分:2)
如果您需要在文档仍在加载时使用javascript运行某些特殊逻辑,则可以将最少的代码放在顶部。但是,在文档准备就绪后,几乎所有在当今丰富的Web应用程序中使用javascript都是必需的,因此可以在<script>
之后安全地放置</body>
标记。
以下是一篇非常相关的读物:http://developer.yahoo.com/performance/rules.html
答案 4 :(得分:1)
我喜欢在部署到生产环境时将代码最小化为单个文件。因此,在开发过程中,我为每个JavaScript类创建一个文件,并将每个文件加载到头部( CSS文件后)。由于我等待来自浏览器的事件表明DOM已准备好,我将我的JS文件放在唯一的HTML / JSP页面的头部。