4 回答
TA贡献1829条经验 获得超4个赞
真正不干扰脚本的可能性有两种:
通过头部的script标签包含一个外部脚本文件
通过正文底部的script标签(在之前
</body></html>
)包含一个外部脚本文件
第二个可能更快,因为最初的Yahoo研究表明,某些浏览器在命中script标签时会尝试加载脚本文件,因此,在完成浏览器之前,它们不会加载页面的其余部分。但是,如果脚本具有“就绪”部分,并且必须在DOM准备就绪后立即执行,则可能需要将其放在头部。另一个问题是布局-如果您的脚本要更改页面布局,则您希望它尽快加载,这样您的页面就不会花很长时间在用户面前重新绘制自身。
如果外部脚本站点位于另一个域(例如外部窗口小部件)上,则可能值得将其放在底部,以避免它延迟页面的加载。
对于任何性能问题,请自己制定基准 -一次完成研究可能会因您自己的本地设置或浏览器的更改而改变。
TA贡献1850条经验 获得超11个赞
从来没有这么干过-雅虎建议将脚本放在结束</body>
标记之前,这样会产生一种幻觉,即页面在空的缓存上加载速度更快(因为脚本不会阻止下载文档的其余部分)。但是,如果您有一些要在页面加载时运行的代码,则仅在整个页面加载后才开始执行。如果将脚本放在<head>
标记中,它们将在执行之前开始执行-因此,在准备好的缓存中,页面实际上看起来加载得更快。
同样,将脚本放在页面底部的特权并非始终可用。如果需要在依赖于之前加载的库或其他JavaScript代码的视图中包含内联脚本,则必须将这些依赖项加载到<head>
标记中。
雅虎的所有建议都很有趣,但并不总是适用,应视具体情况进行考虑。
TA贡献1818条经验 获得超7个赞
就像其他人所说的那样,将其放置在html 主体 的结束标记之前。
前几天,我们接到许多客户的电话,抱怨他们的网站速度非常慢。我们在本地访问了他们,发现他们花了20到30秒来加载单个页面。考虑到服务器性能不佳,我们登录了-但是Web和sql服务器的活动均为〜0%。
几分钟后,我们意识到外部站点已关闭,我们正在将其链接至Javascript跟踪标签。这意味着浏览器正在点击站点顶部的script标签,并等待下载script文件。
因此,至少对于第三方脚本/外部脚本,我建议将其作为页面的最后内容。然后,如果它们不可用,浏览器将至少加载该页面直到该点为止-并且用户将忽略该页面。
TA贡献1752条经验 获得超4个赞
总结一下,基于以上建议:
对于外部脚本(Google Analytics(分析),第三方营销跟踪器等),请将其放置在
</body>
代码之前。对于影响页面布局的脚本,请放在最前面。
对于依赖“ dom ready”的脚本(如jquery),请考虑放置在前面,
</body>
除非您出于特殊情况将脚本放在头部。如果有依赖项的内联脚本,请将所需的脚本放在头。
添加回答
举报