每分钟使用jquery移动检查设备互联网连接

Check device internet connection every minute with jquery mobile

本文关键字:互联网 连接 检查 移动 jquery 每分钟      更新时间:2023-09-26

创建一分钟页面都会检查互联网连接。但是,当设备上的wifi关闭时,页面将被重定向到no_internet.hmtl页面。 我们如何在每次打开/关闭wifi按钮时检查互联网连接,页面应重定向到no_internet.html

$(document).on('pagebeforecreate', '[data-role="page"]', function(){      //loading spinner
    setInterval(
        function(){

          if(window.navigator.onLine){ 
            }else {
                 window.location='./no_internet.html';
                 return false;
            }
     }, 1000);
        setTimeout(function(){
         $.mobile.loading('show', {
        text: 'Chargement en cours...',
        textVisible: true,
        theme: 'a',
        html: "<span class='ui-bar ui-overlay-c ui-corner-all' ><img width='50px' height='50px' src='http://www.shougun.it/images/loading.gif' /><br><h2>Chargement en cours...</h2></span>"
    });
        },5);    
    });
  var interval=setInterval(function(){ 
        connectionExist(); // function returns a true if an internet connection exists
    }, 1000);
    function connectionExist() {
        var xhr = new XMLHttpRequest();
        var file = "http://localhost:50041/stackflow/icon1.png"; //URL we specify is the path to the file that we want to check on
        var randomNum = Math.round(Math.random() * 10000);
        xhr.open('HEAD', file + "?rand=" + randomNum, false);
        try {
            xhr.send();
            if (xhr.status >= 200 && xhr.status < 304) {
                console.log('Connected');
                return true;
            } else {
                console.log('Connection Exist');
                clearInterval(interval);
                window.location.href = "http://localhost:50041/stackflow/noInternet.html";
                return false;
            }
        } catch (e) {
            return false;
        }
    }