纯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 相关文章推荐
JavaScript 三种不同位置代码的写法
Oct 25 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
May 17 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
element tree树形组件回显数据问题解决
Aug 14 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
event.X和event.clientX的区别分析
2011/10/06 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
详解python里的命名规范
2018/07/16 Python
python统计文章中单词出现次数实例
2020/02/27 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
研发工程师的岗位职责
2013/11/18 职场文书
小学教师岗位职责
2013/11/25 职场文书
管理专员自荐信
2014/01/26 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
个人担保书格式范文
2014/05/12 职场文书
服务整改报告
2014/11/06 职场文书
实习单位指导教师评语
2014/12/30 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
家属联谊会致辞
2015/07/31 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS