纯Javascript实现ping功能的方法


Posted in Javascript onMarch 20, 2015

本文实例讲述了纯Javascript实现ping功能的方法。分享给大家供大家参考。具体实现方法如下:

function ping(ip) {
  var img = new Image();
  var start = new Date().getTime();
  var flag = false;
  var isCloseWifi = true;
  var hasFinish = false;
  img.onload = function() {
    if ( !hasFinish ) {
      flag = true;
      hasFinish = true;
      img.src = 'X:\\';
      console.log('Ping ' + ip + ' success. ');
    }
  };
  img.onerror = function() {
    if ( !hasFinish ) {
      if ( !isCloseWifi ) {
        flag = true;
        img.src = 'X:\\';
        console.log('Ping ' + ip + ' success. ');
      } else {
        console.log('network is not working!');
      }
      hasFinish = true;
    }
  };
  setTimeout(function(){
    isCloseWifi = false;
    console.log('network is working, start ping...');
  },2);
  img.src = 'http://' + ip + '/' + start;
  var timer = setTimeout(function() {
    if ( !flag ) {
      hasFinish = true;
      img.src = 'X://';
      flag = false ;
      console.log('Ping ' + ip + ' fail. ');
    }
  }, 1500);
}
ping('www.google.com:80');

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jQuery Ajax文件上传(php)
Jun 16 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
Apr 20 Javascript
使用three.js 画渐变的直线
Jun 05 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
Oct 10 Javascript
详解Jquery Easyui的验证扩展
Jan 09 Javascript
数组Array的排序sort方法
Feb 17 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
浅谈Vue 数据响应式原理
May 07 Javascript
layui动态加载多表头的实例
Sep 05 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
js实现缓动动画
Nov 25 Javascript
jQuery找出网页上最高元素的方法
Mar 20 #Javascript
jQuery实现平滑滚动到指定锚点的方法
Mar 20 #Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 #Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 #Javascript
JavaScript控制图片加载完成后调用回调函数的方法
Mar 20 #Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 #Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 #Javascript
You might like
PHP rmdir()函数的用法总结
2019/07/02 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python动态网页批量爬取
2016/02/14 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
有创意的广告词
2014/03/18 职场文书
优秀语文教师事迹
2014/05/18 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
八年级历史教学反思
2016/02/19 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python