2016-07-17 6 views
5

ターボリンクがロードされるたびに(つまりページがロードされる)、キャッシュからのjsではなく、数行のjsを実行したいですが毎回ターボリンクの負荷の前にそれを強制的に実行する。それは可能ですか?Rails 5のアプリケーションでターボリンクがロードされるたびにJSを実行

私はhtmlの本体を隠し、app.js.coffee

$(document).on 'turbolinks:load', -> 
    document.body.style.visibility = 'visible' 

でこれを行うことで、ここにFOUCを取り除くためにしようとしている。しかしFOUCはリロードの第三または第四時間後で蹴りを開始ページ。

このライブを実際に見るには、hereのリンクがあります。

答えて

1

を使用してください。したがって、FOUCとターボリンクは非常に刺激的です。これはturbolinksはアクションであるとき、それはHTMLの本文のみをロードすること

<script type="text/javascript"> 
     document.body.style.visibility = 'visible' 
</script> 

確保、:私たちは最終的にそれを修正するためにやったことは、インライン麦粒腫で全身を隠し、本体内のスクリプトタグを追加しましたそのため、体内でスクリプトを実行すると、ターボリンクの負荷があるたびにjsが実行されたことが確認されました。

2

ターボリンクは、そのページでリンクを使用しているときにのみ読み込まれ、ページを更新したり、URL経由でナビゲートしたりするときには読み込まれません。ページがロードされたときにjsを実行する場合は、$(document).ready(function() { executable js here });

+0

実際には、ターボリンクを有効にしたリンクをクリックするとjsを実行したいのですが、質問のリンクにあるウェブサイトをチェックしてFOUCの実際の動作を確認してください。また、インスペクタに気付いた場合、体全体が隠され、再びFOUCを隠すように表示されます。しかし、何とかタイミングが少しずれているようです。 – Jeevan

関連する問題