纯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必备 api中英文对照的chm手册 下载
May 03 Javascript
Javascript的构造函数和constructor属性
Jan 09 Javascript
Bootstrap每天必学之响应式导航、轮播图
Apr 25 Javascript
jQuery无刷新上传之uploadify3.1简单使用
Jun 18 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
Dec 01 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
Jun 02 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
Jun 25 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
PHP webshell检查工具 python实现代码
2009/09/15 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
python实现中文分词FMM算法实例
2015/07/10 Python
详解python Todo清单实战
2018/11/01 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
什么是网络协议
2016/04/07 面试题
洗发水广告词
2014/03/13 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
阅兵口号
2014/06/19 职场文书
街道务虚会发言材料
2014/10/20 职场文书
南湾猴岛导游词
2015/02/09 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书