javascript判断机器是否联网的2种方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript判断机器是否联网的2种方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1882字,纯文字阅读大概需要3分钟。
内容图文
![javascript判断机器是否联网的2种方法](/upload/InfoBanner/zyjiaocheng/366/4704f08ad3f74f3ab153d4aefe637b7f.jpg)
但是机器有时候要重启。 如果机器重启后,立刻启动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判断机器是否联网的2种方法全部内容,希望文章能够帮你解决javascript判断机器是否联网的2种方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。