通过使用几个插件之一,可以检测网络连接的当前状态并响应可能发生的任何更改。这个例子是关于cordova-plugin-network-information插件的。
将插件添加到项目中:
cordova plugin add cordova-plugin-network-information
在Cordova设备就绪事件之后,可通过访问连接对象navigator.connection。该type属性包含当前网络状态:
document.addEventListener("deviceready", function() { var networkState = navigator.connection.type; }, false);
networkState 现在包含以下常量之一:
Connection.UNKNOWN // 未知的连接 Connection.ETHERNET // 以太网连接 Connection.WIFI // WiFi连接 Connection.CELL_2G // 单元2G连接 Connection.CELL_3G // Cell 3G连接 Connection.CELL_4G // 小区4G连接 Connection.CELL // 单元通用连接 Connection.NONE // 无网络连接
可以通过将函数挂接到online或offline事件来检测网络连接的变化:
document.addEventListener("online", function() { // 设备上线 var networkState = navigator.connection.type; // 获取新的网络状态 ... }, false); document.addEventListener("offline", function() { // 设备离线 var networkState = navigator.connection.type; // 获取新的网络状态 ... }, false);