Rails 4 + Turbolinks:JS在头部还是在身体的底部?

时间:2012-09-28 14:32:07

标签: ruby-on-rails turbolinks

我习惯把我的JS放在我的body元素的底部(根据HTML5Boilerplate),但是因为TurboLinks,它将在Rails 4中on by default重新加载正文(和标题) )对于每一个请求,从现在开始把我的JS放在头上是否有意义?有没有合适的指南或最佳实践呢?

2 个答案:

答案 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'%>