我目前正在使用Tom Riley的
Jquery插件来检测我的应用程序中的Internet连接,它在Internet Explorer中可以正常工作,但在Chrome浏览器中实现时它不会响应.
任何人都可以建议一个更好的插件检测互联网连接,这在Google Chrome(所有浏览器)中都是完美的
解决方法
你不需要一个插件,只需做:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> if (! window.jQuery) { alert('No internet Connection !!'); } else { // internet connected } </script>
上面的工作原因是因为jQuery lib是从需要互联网连接的Google CDN中读取的,如果页面无法读取,这意味着互联网连接不存在.
更新
你可以这样做:
function checkConnection() { var connected = true; var img = document.createElement('img'); img.src = "path to remoate image on your server"; img.onerror = function() { connected = false; } return connected; }
您可以随时使用它:
if (checkConnection()) { // connected }
更新2
您可以定期/自动检查它也是这样的:
setInterval(function(){ var isConnected = checkConnection(); // checkConnection() comes from above code if (isConnected) { alert('Connected'); } else { alert('Not Connected'); } },10000); // 10000 = 10 seconds,check for connection every 10 seconds
其他有用的链接:
> Check if Internet Connection Exists with Javascript?
> JQuery Mobile Detected if there’s internet Connection
> checkNet: My jQuery plugin for detecting Internet connection