纯JavaScript实现Ping功能的方法

作者:闭包旅人时间:2026-10-29 07:30:43浏览:415

本文介绍了一种使用纯JavaScript实现Ping网络检测功能的方法。通过动态创建Image对象并监听其onload和onerror事件,结合超时机制,可以判断目标IP或域名的连通性。该方法无需后端支持,适用于前端环境下的网络状态简易检测。

纯JavaScript实现Ping功能的方法

本文介绍了一种使用纯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程序设计有所帮助。

作者最新文章