纯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 相关文章推荐
ASP小贴士/ASP Tips javascript tips可以当桌面
Dec 10 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
JavaScript实现cookie的写入、读取、删除功能
Nov 05 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
Nov 13 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
javascript过滤数组重复元素的实现方法
May 03 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
Apr 17 Javascript
vue 弹出遮罩层样式实例
Jul 22 Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP时间函数使用详解
2019/03/21 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
js实现图片轮播效果学习笔记
2017/07/26 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python对切片命名的实现方法
2018/10/16 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
Python如何读写字节数据
2020/08/05 Python
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
美术学专业求职信
2014/07/23 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
业务员辞职信范文
2015/03/02 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书