在JS中检查互联网连接的最快方法
Quickest way to check internet connectivity in JS
我在检查连接的 html 文件中有此代码,但这里的问题是抛出警报消息框以指示连接丢失大约需要 10 秒。我想知道是否有一种更快的方法来通知用户连接丢失而无需等待。严格 JS 谢谢...
JS代码:
<script language="JavaScript">
function SubmitButton()
{
if(navigator.onLine)
{
document.getElementById('SubmitBtn').style.visibility='visible';
}
else
{
document.getElementById('SubmitBtn').style.visibility='hidden';
}
}
function Online()
{
var status=false;
status= navigator.onLine;
if(status!= true)
{
alert('Network connectivity is lost, please try again later');
}
}
</script>
在这里的 html 文件中调用它:
<INPUT name="ccMCA1input" type="checkbox" onclick="ccMCA1.ccEvaluate(),Online()" value=False>
您可以定期从(纽约)服务器请求 1x1 gif 图像,确保使用缓存克星方法以避免缓存。您可以使用加载和错误事件。
var isOnline = (function isOnline(){
// Create a closure to enclose some repeating data
var state = false;
var src = 'gif_url?t=' + Date.now();
var function onLoad = function(){state = true;}
var function onError = function(){state = false;}
// Inside the closure, we create our monitor
var timer = setInterval(function(){
var img = new Image();
img.onload = onLoad;
img.onerror = onError;
img.src = src;
}, 10000);
// Return a function that when called, returns the state in the closure
return function(){return state;};
}());
//Use as
var amIOnline = isOnline();
navigator.onLine
是唯一可以检查的内置属性(顺便说一句,它不可靠)。
您可以创建对可靠服务器的 XHR 请求,并检查是否收到任何响应。
考虑查看以下网址:
- 在线连接监控
- navigator.onLine 测试
- 在线/离线事件捕获
相关文章:
- 如何使用get或post方法连接和执行ajax
- 在 Javascript 中将对象连接为空格分隔字符串的最简单方法是什么?
- 对最后一个条目进行特殊处理的连接字符串的最简单方法
- JavaScript:有没有更好的方法来保留你的数组,但有效地连接或替换项目
- 警告:失败的 propType:在“维度选取器”中未指定所需的属性“维度名称”.检查“连接(维度选择器)”的渲染方法
- 未捕获的类型错误:对象 #<对象> 没有方法“连接”
- Koa:在没有现有包装器的情况下连接到数据库的最明智的方法是什么?
- 在 Node 中,创建具有“等待连接”超时的 http 连接的好方法是什么
- 在JS中检查互联网连接的最快方法
- 使用 JavaScript 连接数据库服务器的方法有多少种
- SignalR:在调用方法之前等待重新建立连接
- 使用MongoJS管理与Mongo的连接的正确方法是什么?
- 为什么javascript方法在与setTimeout一起使用时会失去与对象的连接
- 一种管理WebSocket的方法,以便向所有连接的用户发送管理消息
- dojox绘制矩形连接方法
- 使用node管理与mongoDB的连接的正确方法是什么
- Knob.js-有没有一种方法可以连接表盘,使它们有一个组合的总数
- 什么'这是用express.js处理mongose连接的正确方法
- 使用jQuery.each()方法连接多个数组
- 如何将一个方法连接到不同的对象