`

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”来...

    用Javascript判断图片是否存在,不存在则显示默认图片的代码

    2. 第二种方法是使用JavaScript函数来检测图片是否存在,代码如下: ```javascript <script type="text/javascript"> function IsExist(url) { var img = new Image(); img.onerror = function() { // 图片加载...

    Javascript判断是否有ActiveX控件的两种方法

    Javascript判断是否有ActiveX控件的两种方法,在网页中使用ActiveX控件的添加方法。

    JavaScript常用判断函数

    本文将详细介绍几个常用的JavaScript判断函数,包括`DataLength`(计算数据长度)、`IsEmpty`(判断是否为空)、`IsDigit`(判断是否为数字)、`IsInteger`(判断是否为正整数)以及`IsEmail`(判断是否为正确的电子...

    javascript 判断是否GBK编码

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

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

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

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

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

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

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

    JavaScript判断浏览器类型及版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    javascript跨浏览器的属性判断方法.docx

    ### JavaScript 跨浏览器属性判断方法 #### 概述 在前端开发过程中,由于不同浏览器对JavaScript API的支持程度不一,开发者经常会遇到兼容性问题。为了确保应用能够在多种浏览器上正常运行,开发人员需要掌握跨...

    基于JavaScript和Java的联网五子棋对弈设计源码

    该项目为基于JavaScript和Java实现的联网五子棋对弈系统源码,包含73个文件,涵盖25个Java源文件、21个JAR包文件、13个JSP文件、6个JavaScript文件、2个CSS文件、1个Git忽略文件、1个属性文件、1个XML文件、1个JPG...

    ES6--javascript判断一个字符串是否存在另一个字符串中

    ### ES6 中 JavaScript 判断一个字符串是否存在另一个字符串中的方法 在 JavaScript 的开发过程中,经常会遇到需要判断一个字符串是否存在于另一个字符串中的场景。ES6(ECMAScript 2015)作为 JavaScript 的一个...

Global site tag (gtag.js) - Google Analytics