纯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 相关文章推荐
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 Javascript
详解如何创建并发布一个 vue 组件
Nov 08 Javascript
ES6实现图片切换特效代码
Jan 14 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
多种类型jQuery网页验证码插件代码实例
Jan 09 jQuery
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脚本的10个技巧(8)
2006/10/09 PHP
PHP数据缓存技术
2007/02/14 PHP
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
详解Python中的strftime()方法的使用
2015/05/22 Python
Python读取Excel的方法实例分析
2015/07/11 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
华为python面试题
2016/05/03 面试题
个人自我鉴定怎么写
2013/10/28 职场文书
社会实践自我鉴定
2013/11/07 职场文书
创新比赛获奖感言
2014/02/13 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
义和团口号
2014/06/17 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
六五普法心得体会2016
2016/01/21 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers