我有一個顯示一些狀態信息的頁面。該頁面在沒有任何用戶輸入的PC上運行,並且需要每隔幾分鐘刷新一次。使用Turbolinks在Rails 4中定期重新加載頁面
我可以用它來刷新元標記,但這看起來很粗糙。它強制刷新所有的資產和醜陋閃爍的原因。 Turbolinks通過更智能的頁面加載在其他地方做得很好。我可以使用自動刷新工作嗎?
我很感激任何關於如何使這項工作更好的建議。
我有一個顯示一些狀態信息的頁面。該頁面在沒有任何用戶輸入的PC上運行,並且需要每隔幾分鐘刷新一次。使用Turbolinks在Rails 4中定期重新加載頁面
我可以用它來刷新元標記,但這看起來很粗糙。它強制刷新所有的資產和醜陋閃爍的原因。 Turbolinks通過更智能的頁面加載在其他地方做得很好。我可以使用自動刷新工作嗎?
我很感激任何關於如何使這項工作更好的建議。
試試這個:
$(document).on('ready page:load', function() {
var SECONDS = 5;
setTimeout(function(){
Turbolinks.enableTransitionCache(true);
Turbolinks.visit(location.toString());
Turbolinks.enableTransitionCache(false);
}, SECONDS * 5);
});
這是我最近Turbolinks 5.下使用不得不添加一些變量,從重裝阻止它一旦用戶瀏覽離開該頁面等
<script>
if(!window.reloadTimer) {
var SECONDS = 30;
window.reloadTimer=setTimeout(function(){
console.log("Reload!");
window.reloadTimer=undefined;
Turbolinks.visit(location.toString(),{action: "replace"});
}, SECONDS * 1000);
document.addEventListener("turbolinks:visit",function() {clearTimeout(window.reloadTimer);window.reloadTimer=undefined;});
}
</script>
工作得很好,這是一個使用turbolinks給我的新方法。謝謝! – Blaze
爲什麼你需要刷新?你不能實現一些Ajax或更漂亮的解決方案嗎? –
我從來沒有這樣做過。我甚至不知道從哪裏開始。如果你能指出我正確的方向,那將會有所幫助。 – comphelp
'$ .ajax('/ your/url')。succes(function(){//對反饋進行一些處理})',只是google通過ajax進行定期更新。或者查看構建聊天的教程。 –