Javascript连续异步刷新页面

Javascript连续异步刷新页面,javascript,jquery,html,Javascript,Jquery,Html,我创建了一个在电视上加载的仪表板网页。此页希望每秒刷新一次 我尝试的第一种方法很好、简单,并且尊重标准: 这会在Mac/Chrome和iOS/Safari中产生令人讨厌的闪烁效果,这是不可接受的 下一个版本很好用。。。加载和呈现内容时没有可见的中断: setTimeout(函数(){ $.ajax({ url:“”, 上下文:document.body, 成功:功能(s,x){ $(this.html); } }); }, 2000); 这很有效。。。加载和呈现内容时没有可见的中断。但是

我创建了一个在电视上加载的仪表板网页。此页希望每秒刷新一次

我尝试的第一种方法很好、简单,并且尊重标准:


这会在Mac/Chrome和iOS/Safari中产生令人讨厌的闪烁效果,这是不可接受的

下一个版本很好用。。。加载和呈现内容时没有可见的中断:


setTimeout(函数(){
$.ajax({
url:“”,
上下文:document.body,
成功:功能(s,x){
$(this.html);
}
});
}, 2000);
这很有效。。。加载和呈现内容时没有可见的中断。但是,这会在几分钟后使任何浏览器(如Chrome、Safari、Mobile Safari)崩溃


是否有一种解决此问题的方法不需要我维护两个单独的页面,即重新加载部分和内部数据部分?

使用
timeout
创建“轮询”效果。。现在,您只需每隔
2
秒发出一个请求,而不管是否等待响应。理想情况下,您可以为此使用web套接字,但目前:

function makeAjax() {
    $.ajax({
        url: "",
        context: document.body,
        success: function(s,x){
            $(this).html(s);
            setTimeout(makeAjax, 2000);
        }
    });
}
makeAjax();

使用这种方法,您将在每2分钟之后创建一个间隔sec@Fuzzyma--啊,意思是
超时
-漫长的一天。编辑。在实现这一点时,我看到请求越来越快,基本上就像在F5键上放一块石头。你能确定浏览器崩溃的原因吗?一个可能的罪魁祸首是页面使用的内存不断增加。您可以使用开发人员控制台检查。您真的需要加载整个主体吗?您是否同时重新加载相同的轮询脚本(以及其他脚本)?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>   
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
  $.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
  });
}, 2000);
</script>
function makeAjax() {
    $.ajax({
        url: "",
        context: document.body,
        success: function(s,x){
            $(this).html(s);
            setTimeout(makeAjax, 2000);
        }
    });
}
makeAjax();