2016-07-17 52 views
5

我想在每次加載turbolinks(即加載頁面)時執行幾行js,而不是緩存中的js,但希望每次在渦輪鏈接加載事件之前強制運行它。那可能嗎?每當發生turbolinks加載Rails 5應用程序時,執行JS應用程序

我想在這裏得到擺脫FOUC的,通過隱藏的HTML體和app.js.coffee

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

這樣做,但在FOUC啓動第三或重裝的第4次後踢這一頁。

要查看此實時行動,here是一個鏈接到網站。

回答

1

因此,FOUC加上turbolinks可能會非常刺激。我們終於做修復它是隱藏整個機身採用內嵌麥粒腫和身體內增加了一個腳本標籤:

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

這保證了當turbolinks是在用行動表明加載了只有身體的HTML,因此在體內有一個腳本運行,以確保每次有渦輪鏈接負載時js都運行。

2

Turbolinks僅在使用該頁面上的鏈接時加載,而不是在刷新頁面或通過url進行導航時加載。如果你想在頁面加載時運行js,那麼使用$(document).ready(function() { executable js here });

+0

實際上,我們希望在點擊啓用turbolinks的鏈接時運行js,請檢查問題鏈接上給出的網站,以查看FOUC的行動。此外,如果您在檢查員注意到整個身體隱藏並再次顯示隱藏FOUC。但不知何故,時機似乎有點關閉。 – Jeevan

相關問題