javascript自动判断网络连接状态并提醒用户

来源:互联网 发布:oracle数据库未打开 编辑:程序博客网 时间:2024/05/16 23:54

Offline.js 是一个在用户失去互联网连接的时候自动提醒用户的 JavaScript 库,类似 Gmail 中的效果。它能够捕捉到断网时的 Ajax 请求,在网络连接恢复的时候重新发送请求,这样您的应用程序能够完美的恢复使用。它有几款美丽的主题,不需要任何配置。在现代的浏览器,如 Chrome,Firefox ,Safari 和 IE8+ 测试通过。

官网:http://github.hubspot.com/offline/docs/welcome/

下载:https://github.com/HubSpot/offline/archive/master.zip

下载后在offline-master\test 查看示例及用法


方法二:

<script language="Javascript" >//创建xmlHttp对象var xmlHttp = null;function createXMLRequest( ){    var msxmlhttp = new Array(        'Msxml2.XMLHTTP.6.0',        'Msxml2.XMLHTTP.3.0',        'Msxml2.XMLHTTP',        'Microsoft.XMLHTTP');    for(var i = 0; i < msxmlhttp .length; i++) {        try {            if(xmlHttp  = new ActiveXObject(msxmlhttp[i] )) break;        } catch (e) {            xmlHttp  = null;        }    }   if(!xmlHttp && typeof XMLHttpRequest != "undefined")        xmlHttp = new XMLHttpRequest();}function getHtml(  ){     createXMLRequest( );     //状态调用函数     xmlHttp.onreadystatechange = function(){         if ( xmlHttp.readyState == 4 ){                    if (xmlHttp.status == 200){                                //状态成功执行,有网络                               reflesh();                     }else{                       //没有网络跳转到a.html页面                          document.all.cma.src="a.html";                  }           }     }    //发送请求    xmlHttp.open( "get","http://m.weather.com.cn/m/pn2/weather.htm" ,true);    xmlHttp.send( null );}function reflesh(){      //var city  = System.Gadget.Settings.read("city");      var city  = "2";      if (city > 100000000) {           document.all.cma.src="http://m.weather.com.cn/m/pn2/weather.htm?id="+city+"T";      } else {          document.all.cma.src="http://m.weather.com.cn/m/pn2/weather.htm";     }}onload = getHtml;</script><iframe name="cma"></iframe>

方法三:java 实现 ,完整示例请访问http://blog.csdn.net/xuke6677/article/details/44752207

 public static void main(String[] args) throws UnknownHostException, IOException {  Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象  Process process = null; // 声明处理类对象  String line = null; // 返回行信息  InputStream is = null; // 输入流  InputStreamReader isr = null; // 字节流  BufferedReader br = null;  String ip = "www.baidu.com";  boolean res = false;// 结果  try {   process = runtime.exec("ping " + ip); // PING   is = process.getInputStream(); // 实例化输入流   isr = new InputStreamReader(is);// 把输入流转换成字节流   br = new BufferedReader(isr);// 从字节中读取文本   while ((line = br.readLine()) != null) {    if (line.contains("TTL")) {     res = true;     break;    }   }   is.close();   isr.close();   br.close();   if (res) {    System.out.println("ping 通...已经连接外网");   } else {    System.out.println("ping 不通...无法连接外网");   }  } catch (IOException e) {   System.out.println(e);   runtime.exit(1);  } }




0 0
原创粉丝点击