我目前在我的应用程序中使用 Tom Riley 的 Jquery 插件来检测 Internet 连接,它在 Internet Explorer 中运行良好,但在 Google Chrome 中实现它时没有响应。
任何人都可以建议一个更好的检测互联网连接的插件,它在谷歌浏览器(所有浏览器)中完美运行
我目前在我的应用程序中使用 Tom Riley 的 Jquery 插件来检测 Internet 连接,它在 Internet Explorer 中运行良好,但在 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 是从需要互联网连接的谷歌 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
}
您也可以像这样定期/自动检查它:
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
其他有用的链接:
checkNet 插件 ( http://tomriley.net/blog/archives/111 ) 适用于所有浏览器,包括 Chrome。它不依赖于查询 google.com(因为 google 在某些国家/地区被封锁,大陆之间的连接可能不可靠!)
如果没有显示错误消息,通常是因为您仍在本地服务器上 - 它在 Internet 上时可以正常工作。
此外,看看你用它做什么会很酷。如果您想分享,请给我一个链接。
无需下载任何文件或图像,您可以通过一段简单的代码进行检查。
单击下面的“运行代码片段”按钮并查看它的实际效果。
function checkInternetConnection(){
var status = navigator.onLine;
if (status) {
console.log('Internet Available !!');
} else {
console.log('No internet Available !!');
}
setTimeout(function() {
checkInternetConnection();
}, 1000);
}
checkInternetConnection();
编辑 - 没有功能的更简单的方法
setInterval(function(){
var status = navigator.onLine;
if (status) {
console.log('Internet Available !!');
} else {
console.log('No internet Available !!');
}
}, 1000); // 1000 = 1 seconds, check for connection after every 1 seconds