如果有网络,如何刷新网页

3
我需要一些条件性的jQuery代码来检查互联网的可用性,如果可用则刷新页面,然后等待与刷新相同的时间,并重复执行相同的活动,就像在while循环中一样。
<script>
var a=navigator.onLine;
 if(a){
    <META HTTP-EQUIV="refresh" CONTENT="10">
 }else{
  alert('ofline');
 }
</script>

请帮忙解释上述代码。

谢谢!


2
这不仅与Django无关,而且你甚至没有说明问题所在。 - Daniel Roseman
我在 Django 模板中使用了这个 jQuery。从一般的角度来看,你是对的。其次,我的问题是我需要一些有条件的 jQuery 代码来实现上述目的,我找到了一些代码,但它不起作用,所以我分享了它。@DanielRoseman - Noman Uddin
1个回答

4

检查网络连接的一种方式是在与当前页面相同的网域上设置一个小的PNG图片或文件,并测试是否可以连接到该文件。在Ajax调用中设置超时时间,如果在若干秒后未收到响应,则会触发其错误处理程序。

function check_connect()

    var testURL = "/somefile.png"
    var waitTime = 15000  // recheck every 15 seconds

    $.ajax({
      type: 'GET',
      url: testURL,
      timeout: 5000,  // allow this many milisecs for network connect to succeed
      success: function(data) {
        // we have a connection, reload page then try again after waitTime
        location.reload();  // reloads entire page
        window.setTimeout(check_connect, waitTime)  // try again after waitTime miliseconds
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        // no connection, try again after waitTime
        window.setTimeout(check_connect, waitTime) 
      }
      });

这里可能有其他有用的答案:JQuery Ajax - 如何在进行Ajax调用时检测网络连接错误

关于jQuery的ajax设置,如超时等更多信息请参考http://api.jquery.com/jquery.ajax/


感谢您的支持。 @brobas - Noman Uddin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接