纯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 相关文章推荐
北京奥运官方网站幻灯切换效果flash版打包下载
Jan 30 Javascript
再谈querySelector和querySelectorAll的区别与联系
Apr 20 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
javascript进行四舍五入方法汇总
Dec 16 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
利用vue + element实现表格分页和前端搜索的方法
Dec 25 Javascript
vue使用v-for实现hover点击效果
Sep 29 Javascript
微信小程序 数据缓存实现方法详解
Aug 26 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 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下关于中英数字混排的字符串分割问题
2010/04/06 PHP
理解PHP中的stdClass类
2014/04/18 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php的socket编程详解
2016/11/20 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
列表内容的选择
2006/06/30 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
python计算方程式根的方法
2015/05/07 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
单链表反转python实现代码示例
2018/02/08 Python
Django自定义用户认证示例详解
2018/03/14 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
如何基于python实现脚本加密
2019/12/28 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
办公室日常管理制度
2015/08/04 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
Python 统计序列中元素的出现频度
2022/04/26 Python