【问题标题】:How to refresh a webpage if internet is available如果互联网可用,如何刷新网页
【发布时间】:2015-02-06 09:16:43
【问题描述】:

我需要一些条件 jquery 来检查互联网可用性,如果可用,它会刷新页面,然后等待与刷新相同的时间并再次执行相同的活动,就像在 while 循环中一样

<script>
var a=navigator.onLine;
 if(a){
    <META HTTP-EQUIV="refresh" CONTENT="10">
 }else{
  alert('ofline');
 }
</script>

请就上述代码行提供帮助。

谢谢

【问题讨论】:

  • 这不仅与Django没有任何关系,而且你甚至没有说明问题所在。
  • 我在 Django 模板中使用这个 jquery。从一般角度来看,您对 django 的看法是正确的,第二个问题是我需要一些条件 jquery 来实现上述目的,我发现了一些代码,但它不起作用,所以我分享它。 @丹尼尔罗斯曼

标签: javascript jquery html


【解决方案1】:

检查连接的一种方法是在您的同一网络服务器(与当前页面相同的域)上设置一个小的 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 - How to Detect Network Connection error when making Ajax call

更多关于 jquery 的 ajax 设置比如超时在这里http://api.jquery.com/jquery.ajax/

【讨论】:

  • 感谢您的支持。 @brobas
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2015-11-25
  • 2018-01-21
相关资源
最近更新 更多