`

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

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

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

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

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

    JavaScript 判断输入是否为数字

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

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

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

    JavaScript判断浏览器类型及版本

    浏览器类型的判断可以通过两种方式来实现,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的 userAgent 属性来判断。 userAgent 属性是浏览器提供的一个字符串,包含了浏览器的类型、版本、操作系统...

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

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

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

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

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

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

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

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

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    59、原生JavaScript另一种正则日期格式化函数+调用方法 60、原生JavaScript时间个性化输出功能 61、原生JavaScript解决offsetX兼容性问题 62、原生JavaScript常用的正则表达式 63、原生JavaScript实现返回顶部的通用...

    JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例

    标题中所提及的“JavaScript代码判断输入的字符串是否含有特殊字符和表情”,实质上是介绍了一种使用JavaScript语言进行前端数据验证的技术方法。这种技术常见于各种表单验证中,用于确保用户输入的数据符合特定格式...

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

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

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

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

    Javascript判断用户输入的合法性的函数

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何使用JavaScript来验证用户输入的合法性。这些功能包括但不限于限制输入字符、判断密码一致性、检查空值、验证用户名格式(仅限数字、字母和下划线)...

    Javascript判断常用Demo

    JavaScript中的`RegExp`对象用于处理正则表达式,`test()`或`exec()`方法可以用于验证字符串是否符合特定的模式。例如,验证一个字符串是否为数字,可以使用`/^\d+$/.test(inputValue)`。 3. **判断GridView是否有...

    【JavaScript源代码】JavaScript 判断浏览器是否是IE.docx

    标题提及的“JavaScript 判断浏览器是否是IE”是一个关键问题,因为识别IE浏览器可以帮助开发者适配其特有的兼容性问题。以下是一些用于检测IE浏览器的方法: 1. **`document.all`**:IE浏览器在早期版本中引入了`...

Global site tag (gtag.js) - Google Analytics