我习惯把我的JS放在我的body元素的底部(根据HTML5Boilerplate),但是因为TurboLinks,它将在Rails 4中on by default重新加载正文(和标题) )对于每一个请求,从现在开始把我的JS放在头上是否有意义?有没有合适的指南或最佳实践呢?
答案 0 :(得分:8)
默认情况下,预编译的application.js(根据资产管道)也处于开头状态。原因是即使js在页面的其余部分之前加载,因为js总是相同的,它将从第二个请求开始从缓存加载,所以没有实际的理由在它的底部提供它。身体了。
答案 1 :(得分:8)
如果你正在使用Turbolinks 5,你现在可以将turbolink放在身体的底部(并遵循web dev最佳做法来渲染页面)。这也对SEO有所帮助。只需将脚本添加到身体底部并添加
即可 res_0
到你的脚本标签。这将阻止turbolink在初始页面加载后评估。以下是data-turbolinks-eval="false"
:
javascript_include_tag
然后使用
<%= javascript_include_tag 'application', 'data-turbolinks-eval' => 'false'%>