私はJSをbody要素の下部に貼り付けることに慣れています(HTML5Boilerplateのように)が、 Rails 4でデフォルトでオンになるTurboLinksは、リクエストごとにbody(およびタイトル)をリロードするので、意味がありますか?これから私のJSを頭に入れますか?これに関する適切なガイドやベストプラクティスはまだありますか?
2 に答える
Turbolinks 5を使用している場合は、体の下部にターボリンクを配置できるようになりました(そして、ページをレンダリングするためのWeb開発のベストプラクティスに従ってください)。これは、SEOにもわずかに役立ちます。スクリプトを体の下部に追加して追加するだけです
data-turbolinks-eval="false"
スクリプトタグに。これにより、最初のページの読み込み後にターボリンクが評価されなくなります。javascript_include_tag
これが:でどのように行われるかです。
<%= javascript_include_tag 'application', 'data-turbolinks-eval' => 'false'%>
次に、
$(document).on('turbolinks:load', function() {
// code to be executed when use changes pages
});
また、プリコンパイルされたapplication.js(アセットパイプラインによる)は、デフォルトでオンでヘッドにあります。理由は、jsがページの残りの部分の前にロードされたとしても、jsは常に同じであるため、2番目以降のリクエストからキャッシュからロードされるため、下部にそれを提供する実際の理由はないということです。もう体。