我在几个插件说明中看到,将 javascript/jQuery 源粘贴到 body 标记末尾之前。我搜索了他们为什么这么说,但没有任何意义。
如果我将 src 文件放在脚本中的任何位置,我就不会遇到任何问题。有人能给我一个好的答案吗?
如果 javascript 代码不引用 DOM 或 DOM 中的任何对象,那么它可以放在页面中的任何位置。
如果您将其放在 body 标记中的 HTML 之后,就在</body>
标签,那么页面将在脚本加载之前被解析并显示,这将使页面显示得更快。因此,您看到的建议是最大限度地提高页面的初始显示性能。
如果 javascript 确实引用了 DOM 或 DOM 中的任何对象,那么它必须有特殊的代码来等待 DOM 加载,然后才能使用类似的代码执行$(document).ready(fn)
在 jQuery 中,或者代码必须在 DOM 之后物理加载,以便在加载 DOM 之前它不会执行。
当然,代码必须在其初始执行立即依赖的任何代码之后加载。因此,需要在 jQuery 库本身之后加载 jQuery 插件。
以下是一组通用指南:
- 尽可能晚地将代码放置在页面中,以最大限度地提高页面的显示性能。
- 将代码放在其初始执行所依赖的任何其他库之后。
- 将代码放入
<head>
仅当该代码需要在文档加载之前执行或使用时才使用此部分。举个例子,如果您有代码检查 URL 和 cookie 并决定是否执行客户端重定向,您希望该代码立即执行,因此您可以将该代码放在<head>
部分,以便它可以在 DOM 加载或显示之前执行。另一个例子,如果你有一些内联 javascript,需要在页面加载期间使用某些函数(例如,一些内联 javascriptdocument.write()
并调用一些实用函数),然后将这些实用函数放入<head>
部分,以便它们在页面加载时可用。
- 如果没有理由在页面加载之前执行代码或者代码需要访问 DOM 本身,则将代码放在页面加载之前
</body>
标签来优化页面显示时间并将代码放置在代码运行时 DOM 准备好进行操作的位置。
- 尽可能将代码放入外部 JS 文件中,以最大限度地利用浏览缓存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)