我习惯于将JS放在body元素的底部(根据HTML5Boilerplate),但是由于TurboLinks (在Rails 4中将是on by default )在每次请求时都会重新加载body (和标题),所以从现在开始将JS放在head中有意义吗?在这方面有没有什么像样的指南或最佳实践?
发布于 2012-09-28 22:59:04
另外,预编译的application.js (根据assets管道)在默认情况下处于打开状态。原因是,即使js在页面的其余部分之前加载,因为js总是相同的,它将从第二个请求开始从缓存加载,所以没有实际的理由再在主体的底部提供它。
发布于 2016-09-28 22:18:07
如果你使用的是Turbolinks 5,你现在可以把turbolinks放在你的身体底部(并遵循web dev渲染页面的最佳实践)。这对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 });
https://stackoverflow.com/questions/12642045
复制相似问题