我有一个页面显示一些状态信息。此页面在没有任何用户输入的PC上运行,需要每隔几分钟刷新一次。
我可以使用meta标签刷新它,但这似乎很粗糙。它强制刷新所有资产并导致丑陋的闪烁。通过更智能的页面加载,Turbolinks在其他任何地方都做得很好。我可以通过自动刷新来使用它吗?
我很感激有关如何让这项工作更好的建议。
答案 0 :(得分:2)
这是我最近在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>
答案 1 :(得分:0)
试试这个:
$(document).on('ready page:load', function() {
var SECONDS = 5;
setTimeout(function(){
Turbolinks.enableTransitionCache(true);
Turbolinks.visit(location.toString());
Turbolinks.enableTransitionCache(false);
}, SECONDS * 5);
});