所以這是我的問題。我正在使用LazyLoad插件來加載JavaScript文件,而不會阻止頁面呈現。這是如何我使用它:使用JavaScript LazyLoad與資產預編譯
LazyLoad.js(["/assets/jquery.js","/assets/another_js_file.js"],function() {
some javascript code;
});
當我把我的代碼的Heroku我的資產獲得預編譯和他們的名字更改爲:
another_js_file-97e27736199a78287129ad86d5aa6ae1.js 這讓我的惰性加載休息。
當我不知道他們的最終名字時,我該如何LazyLoad這些文件?
嘿,首先感謝您的答案,它的工作。但不是我已經關閉了摘要,我認爲Heroku緩存了我的資產..我推新代碼,並且它似乎沒有在某些資產文件中更新。有什麼想法,爲什麼? –
是的,指紋是Heroku用來避免緩存資產問題的機制。如果您想防止這種情況發生,您需要創建自己的文件版本控制方式。如果你這樣做了,你可以控制你添加到你的資產上的'指紋',然後你可以通過在請求資產時默認添加指紋來延遲加載它們。如果您需要關於此主題的進一步幫助,請查看rails文檔,因爲這不是一個簡單的問題:http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-護理問號 –