2017-07-17 103 views
0

我想创建jquery listener来检查Internet连接。Jquery - 检查Internet连接

function checkInternetConnection() 
 
    { 
 
     onConnectionClosed:function(){ 
 
      dialog.show("Connection closed please wait"); 
 
     } 
 
     onConnectionOpened:function(){ 
 
      dialog.hide(); 
 
     } 
 
    } 
 
    
 
    $(document).ready(function(){ 
 
     checkInternetConnection(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

所以,当连接被关闭,我想显示一个对话框,用户。当连接回来时,我想隐藏对话框。我怎样才能做到这一点?

+0

https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection –

+0

这不是可能的,作为一种解决方法,但是你可以向api发出一个虚拟请求,看看它是否失败(检查哪个原因)。 – Adriani6

+0

@NickShvelidze所有浏览器都不支持Navigator#连接。应该避免。 – Adriani6

回答

4

这是从MDN一个片段:

https://developer.mozilla.org/en-US/docs/Online_and_offline_events

window.addEventListener('load', function() { 

    function updateOnlineStatus(event) { 
    var condition = navigator.onLine ? "online" : "offline"; 

    alert(`you are ${condition}`) 

    } 

    window.addEventListener('online', updateOnlineStatus); 
    window.addEventListener('offline', updateOnlineStatus); 
}); 
+0

值得注意的是,它不支持Opera。 – Adriani6

+0

我想在铬先生中使用它 –