纯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 OFFICE控件测试代码
Dec 08 Javascript
Javascript 读书笔记索引贴
Jan 11 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
Javascript 是你的高阶函数(高级应用)
Jun 15 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
js实现String.Fomat的实例代码
Sep 02 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
Vue监听事件实现计数点击依次增加的方法
Sep 26 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 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 文件缓存函数
2011/10/08 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
python mysqldb连接数据库
2009/03/16 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
PyQt5实现登录页面
2020/05/30 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
销售自我评价
2013/10/22 职场文书
编辑找工作求职信范文
2013/12/16 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
开业主持词
2014/03/21 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB
Golang数据类型和相互转换
2022/04/12 Golang
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android