使用JS变量 navigator.onLine 是true还是false,可以判断在线还是离线。
不知道是不是html5的功能,在IE7,FF,Chrome下都是ok的。
如果你还想知道网络状况是wifi,还是2G,3G什么的,有少数部分浏览器支持network information api
浏览器支持情况 链接 http://mobilehtml5.org/ (这个内容很给力,html5的功能支持情况概览)
不过api文档说的接口属性好像不是那么回事。
我在android 2.3.6内置浏览器测试得出以下结论:
navigator.connection的属性有下面这几个
type 这个就表示当前网络状态了,值是下面几个常量中的一个。
UNKNOWN = 0
ETHERNET = 1
WIFI = 2
CELL_2G = 3
CELL_3G = 4
UC浏览器无此变量。
QQ浏览器有此变量,不过检测出来的type是0
至于online offline事件检测,可以通过监控下面的事件进行检测:
在android2.3.6内置浏览器测试通过,QQ浏览器测试不通过。
window.addEventListener('online' , function(){alert('online');},false);
window.addEventListener('offline' , function(){alert('offline');},false);
online,offline事件官方说明:
Returns false if the user agent is definitely offline (disconnected from the network). Returns true if the user agent might be online.
The events
The navigator.onLine attribute must return false if the user agent will not contact the network when the user follows links or when a script requests a remote page (or knows that such an attempt would fail), and must return true otherwise.
When the value that would be returned by the queue a task to fire a simple eventnamed offline at the