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

ste*_*och 17 ruby-on-rails turbolinks

我已经习惯了在我的身体元素的底部伸出我的JS(按HTML5Boilerplate),但由于TurboLinks,这将是在默认情况下在轨道4,重新加载体(和标题)在每个请求时,它才有意义从现在开始把我的JS放在头上?对此有没有合适的指南或最佳实践?

Wil*_*ill 8

如果您正在使用Turbolinks 5,您现在可以将turbolink放在身体的底部(并遵循Web开发最佳实践来渲染页面).这也对SEO有所帮助.只需将脚本添加到身体底部并添加即可

data-turbolinks-eval="false"

到你的脚本标签.这将防止在初始页面加载评估turbolinks .以下是如何完成以下操作javascript_include_tag:

<%= javascript_include_tag 'application', 'data-turbolinks-eval' => 'false'%>

然后就用吧

$(document).on('turbolinks:load', function() { // code to be executed when use changes pages });


rew*_*ten 7

此外,预编译的application.js(根据资产管道)默认情况下处于打开状态.原因是即使js在页面的其余部分之前加载,因为js总是相同的,它将从第二个请求开始从缓存加载,所以没有实际的理由在它的底部提供它.身体了.