机器是否联网的javascript的判断方法介绍
来源:互联网 发布:淘宝几单一颗心 编辑:程序博客网 时间:2024/05/29 15:11
在很多场景下,只有机器已经联网以后,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判断机器是否联网的2种方法
- javascript判断机器是否联网的2种方法
- 判断Android手机是否联网的方法
- 判断Android手机是否联网的方法
- android 判断手机是否联网 的方法
- android 判断是否联网的方法
- Android判断机器是否联网
- Android通过获取Ip的方法判断手机是否联网
- javascript判断是否为数字的方法
- Javascript 判断是否存在函数的方法
- 判断浏览器是否支持JavaScript的方法
- 判断浏览器是否支持JavaScript的方法
- javascript判断是否为数组的方法
- Delphi怎么判断是否联网的函数
- 判断 程序是否联网,提示联网的Demo
- 转:Android 通用获取Ip的方法(判断手机是否联网的方法)
- Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
- Java 动态代理 (CGLIB代理)
- linux文件和目录管理
- 【科研论文】基于网络的线阵CCD信号采集系统的设计
- busybox编译
- HDU 2609 How many(最小表示法+set判重两种写法)
- 机器是否联网的javascript的判断方法介绍
- 让时间成为自己的知心朋友\\《把时间当做朋友》读书笔记
- iPhone应用提交流程
- hdu 题目1010 Tempter of the Bone(DFS+奇偶剪枝)
- 把ssl模块加入到已经编译好的apache中
- PHP连接Oracle ORA-121154问题解决
- dataset访问Oraclel数据库
- Poj 1094 Sorting It All Out——拓扑排序
- git使用说明