`

javascript判断机器是否联网的2种方法

阅读更多
只有机器已经联网以后,web应用才能启动,javascript判断机器是否联网。

在很多场景下,只有机器已经联网以后,web应用才能启动。如果没有联网,就会提示错误。
但是机器有时候要重启。 如果机器重启后,立刻启动web应用的话,可能,机器上的网络服务还没有准备好。

特别是windows7,启动网络服务需要好几秒,这个时候怎么办呢?
之前尝试过几种方法:
比如 通过ping来判断, 但是ping需要有一个非本机的ip地址。 这个不是很通用
比如监控某个端口是否已经被占用,但是光端口占用,也不能说明网络已经启动了。
另一个方面,如果是web应用的话,最好是在前端判断,比如用javascript。
网上也有人写 javascript 的ping的模拟效果。但确实有些麻烦。
怎么办呢,关键的时候,还是html5能给出好的解决方法:

方法一:
navigator.onLine
if (navigator.onLine) 
{ //正常工作} 
else { //执行离线状态时的任务} 


这个html5的 navigator的新特性可以很简单帮我们搞定
HTML5为此定义了一个navigator.onLine属性,这个属性值为true表示设备能上网,值为false表示设备离线。
当然不同的浏览器,对这个的支持还不太一样。脚本编程
IE6+和Safari 5+支持的比较好
Firefox 3+和支持navigator.onLine属性,但你必须手工选中菜单项“文件-Web开发人员(设置)-脱机工作”才能让浏览器正常的工作。
Chrome需要12以上。

方法二:
当然,如果想支持的更兼容,可以使用如下2个事件:online和offline。当网络从离线变为在线或者从在线变为离线时,分别触发这两个事件。这两个事件在window对象上触发。
为了检测应用是否离线,在页面加载后,最好先通过navigator.onLine取得初始的状态。然后,就是通过上述两个事件来确定网络连接状态是否变化。当上述事件触发式,navigator.onLine属性的值也会改变,不过必须要手工轮询这个属性才能检测到网络状态的变化。
var EventUtil = { 
addHandler: function (element, type, handler) { 
if (element.addEventListener) { 
element.addEventListener(type, handler, false); 
} else if (element.attachEvent) { 
element.attachEvent("on" + type, handler); 
} else { 
element["on" + type] = handler; 
} 
} 
}; 
EventUtil.addHandler(window, "online", function () { 
alert("Online"); 
}); 
EventUtil.addHandler(window, "offline", function () { 
alert("Offline"); 
}); 
分享到:
评论

相关推荐

    Javascript判断文件是否存在(客户端/服务器端)

    本文将详细介绍在客户端和服务器端使用JavaScript来判断文件是否存在的方式,并提供相应的示例代码。 客户端判断文件是否存在: 在客户端,我们可以利用Windows平台的ActiveX对象“Scripting.FileSystemObject”来...

    使用JS在浏览器中判断当前网络连接状态的几种方法

    使用JS在浏览器中判断当前网络状态的几种方法如下: 1. navigator.onLine 2. ajax请求 3. 获取网络资源 4. bind() 1. navigator.onLine 通过navigator.onLine判断当前网络状态: if(navigator.onLine){ ... }...

    javascript 判断是否GBK编码

    在JavaScript中,判断一个字符串是否属于GBK编码是一个常见的需求,特别是在处理中文字符集时。GBK是GB2312的扩展,包含了更多的汉字和其他字符,是Windows系统中广泛使用的中文编码标准。本篇将深入探讨如何通过...

    javascript常用判断函数

    JavaScript 是一种广泛用于网页和网络应用的编程语言,尤其在前端开发中扮演着重要角色。本文将详细讲解JavaScript中的几个常见判断函数,这些函数可以帮助开发者进行数据类型的检查和验证。 首先,我们来看`...

    JavaScript应用实例-判断联网类型.js

    JavaScript应用实例-判断联网类型.js

    javascript 判断简单数学公式

    javascript 判断简单数学公式 简单的实现了用javascript 判断简单的数学公式是否正确。 比如 (a1+a2)*a3^a4

    基于js判断浏览器是否支持webGL.docx

    通过本文,读者可以了解到如何使用JavaScript判断浏览器是否支持WebGL,并且掌握了Detector对象的使用方法。同时,本文还提供了一个解决浏览器不支持WebGL时的错误信息处理方法。 在实际开发中,判断浏览器是否支持...

    javascript判断变量是否有值的方法

    本文实例讲述了javascript判断变量是否有值的方法。分享给大家供大家参考。具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为...

    基于JavaScript判断浏览器到底是关闭还是刷新(超准确)

    本文介绍了通过JavaScript判断浏览器是关闭还是刷新的方法。在Web开发过程中,有时候需要区分用户是关闭了浏览器窗口,还是仅仅刷新了页面,这对于执行某些特定的逻辑操作是很重要的。例如,当用户关闭浏览器窗口时...

    JavaScript 判断输入是否为数字

    JavaScript的一个小程序,判断输入是否为数字

    JavaScript中判断两个字符串是否相等的方法

    在JavaScript中判断两个字符串是否相等是编程基础中的重要内容,尤其对于初学者来说,理解字符串相等性的判断方法对于编写有效的代码至关重要。首先,要了解JavaScript提供了两种相等性运算符:“==”和“===”。这...

    JavaScript判断文件上传类型的方法

    本文实例展示了JavaScript判断文件上传类型的方法,是一个非常常用的技巧。具体实现方法如下: 文件上传时用到一个功能,使用html元素的input标签实现: <input id="imageFile" name="imageFile1" accept="image...

    js判断数组是否相等的方法

    在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...

    javascript简单判断输入内容是否合法的方法

    在JavaScript中,判断输入内容是否合法通常涉及到字符串的验证,特别是使用正则表达式(Regular Expression)进行复杂的字符匹配。本篇文章将通过一个实例来介绍如何使用JavaScript来判断输入的用户名是否只包含数字...

    JavaScript判断一个字符串是否包含指定子字符串的方法

    首先,介绍基本的字符串包含判断方法。在ES5标准中,String对象并没有内置一个名为contains的方法。但在实际开发中,我们经常需要判断一个字符串是否包含另一个子字符串,所以开发者们会自行定义这个方法。例如,...

    Talisman一个简单的模块化NLP用于JavaScript的机器学习和模糊匹配库

    2. **Soundex算法**:一种基于发音的相似度计算方法,适用于音近词的匹配。 3. **Metaphone算法**:进一步改进的Soundex,考虑更多发音特性,提高匹配准确率。 **四、实际应用场景** 1. **搜索引擎**:通过模糊...

    js 判断输入是否是数字.rar

    总的来说,理解和掌握这些判断输入是否为数字的方法对于编写交互式的JavaScript应用至关重要。无论是在前端表单验证还是后端数据处理,确保输入数据的正确性都是提高用户体验和系统稳定性的关键步骤。在实际开发中,...

Global site tag (gtag.js) - Google Analytics