纯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 AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
jquery 新浪网易的评论块制作
Jul 01 Javascript
获取客户端电脑日期时间js代码(jquery)
Sep 12 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
分享15个大家都熟知的jquery小技巧
Dec 02 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
Jun 23 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
May 29 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 Javascript
基于vue实现图片验证码倒计时60s功能
Dec 10 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
获得Google PR值的PHP代码
2007/01/28 PHP
php木马攻击防御之道
2008/03/24 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php里array_work用法实例分析
2015/07/13 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
python中mechanize库的简单使用示例
2014/01/10 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python 并发下载器实现方法示例
2019/11/22 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
Python实现AI换脸功能
2020/04/10 Python
Python collections模块的使用方法
2020/10/09 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
质量月活动总结
2014/08/26 职场文书
教师个人年度总结
2015/02/11 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏