我读到最好将您的 <script>
放在文档末尾的标签。这样做的理由似乎是,浏览器将停止呈现脚本标签下方的页面,直到它加载并执行了脚本。如果您的脚本标记位于页面顶部,渲染会暂停一段时间,这很糟糕。
但是,我不确定这是不是真的。
环顾四周,我通常会看到以下位置......
在<head>
页面的或就在 <body>
内标签
Stackoverflow 是将脚本标签放在 head
中的网站示例,并且由于他们通常对性能相当着迷,所以我开始怀疑页面中的位置是否重要。
body
中的最后一件事元素
另一个放置 javascript 的常见位置似乎是在 <body>
的最后。元素。我假设这意味着页面可以在 javascript 下载并继续执行它的操作时呈现。
但哪个更好呢?
有没有人对此有任何想法或建议?我希望尽快让我们的页面运行并显示给用户。
重要吗? 位于页面顶部有哪些优势?页面底部?
最佳答案
这真的取决于。
对此没有包罗万象的答案,因为它取决于您的 javascript 正在执行的操作。
如果您对需要加载脚本才能运行的 DOM 元素执行操作,有时需要将脚本放在页面末尾。假设您想专注于一个控件,您的脚本是:
var mytext = document.getElementById("mytext2");
mytext.focus();
在这种情况下,您会希望它在页面末尾执行,即在浏览器加载 mytext2 控件之后。这对于仅包含由事件调用的函数的脚本 block 来说不太重要。
如果你有一个包含函数库的大 .js 文件,你可能还想将它放在页面的末尾,这样浏览器将在加载大的 .js 文件之前更快地加载页面。
Google Analytics 建议将他们的跟踪器放在末尾,以确保在计算点击次数之前页面已交付,但在某些情况下,它建议也将脚本放在标题中,这两种方式都有效。
因此,对我来说,经验法则是,除了内联执行和作用于 DOM 对象的东西,或者你想在页面后加载的大型脚本之外,所有东西都使用 HEAD 脚本。
Rick Strahl 刚刚在 placement of Javascript 上写了一篇很棒的博客在 .net 中也是如此:
关于javascript - javascript 的最佳位置包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007323/