纯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 相关文章推荐
广告代码静态化js通用函数
May 09 Javascript
Ajax异步提交表单数据的说明及方法实例
Jun 22 Javascript
JavaScript函数获取事件源的小例子
May 14 Javascript
使用jQuery将多条数据插入模态框的实现代码
Oct 08 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
微信小程序实现鼠标拖动效果示例
Dec 01 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 Javascript
微信小程序修改checkbox的样式代码实例
Jan 21 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伪静态写法附代码
2008/06/20 PHP
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
JS画线(实例代码)
2013/11/20 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
HTML的select控件美化
2017/03/27 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
基于zepto.js实现手机相册功能
2017/07/11 Javascript
Vue实现日历小插件
2019/06/26 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
python的Template使用指南
2014/09/11 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
python 删除非空文件夹的实例
2018/04/26 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
庆元旦迎新年广播稿
2014/02/18 职场文书
业务员简历自我评价
2014/03/06 职场文书
企业办公室岗位职责
2014/03/12 职场文书
上党课的心得体会
2014/09/02 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书