纯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 06 Javascript
js中的布尔运算符使用介绍
Nov 20 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
Jun 01 Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
详解Vue-Cli 异步加载数据的一些注意点
Aug 12 Javascript
详解VueRouter进阶之导航钩子和路由元信息
Sep 13 Javascript
详解JSON Web Token 入门教程
Jul 30 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
Sep 25 Javascript
js canvas实现五子棋小游戏
Jan 22 Javascript
一百多行代码实现react拖拽hooks
Mar 23 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之XML转数组函数的详解
2013/06/07 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
基于jQuery试卷自动排版系统
2010/07/18 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
vue 中自定义指令改变data中的值
2017/06/02 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python3实现名片管理系统
2020/11/29 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
金融行业务员的自我评价
2013/12/13 职场文书
三个儿子教学反思
2014/02/03 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
班级文化建设标语
2014/06/23 职场文书
人力资源管理求职信
2014/08/07 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python