我建立了一个功能来检查设备的互联网连接
<script type="text/javascript">
function checkConnection() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'unknown';
states[Connection.ETHERNET] = 'ethernet';
states[Connection.WIFI] = 'wifi';
states[Connection.CELL_2G] = '2g';
states[Connection.CELL_3G] = '3g';
states[Connection.CELL_4G] = '4g';
states[Connection.CELL] = 'cell';
states[Connection.NONE] = 'none';
if (states[networkState] == 'unknown' || states[networkState] == '2g' || states[networkState] == 'cell' || states[networkState] == 'none')
{
alert('error');
}
else
{
alert('good');
}
}
window.onload = checkConnection;
</script>
在初始负载上,我收到了错误提示,虽然我已经激活了WIFI oder 3 / 4G连接。如果页面已呈现,并且我点击按钮再次打开该功能,我会收到正确的消息。
我的功能checkConnection
接近body
,cordova.js
中的header
。
怎么了?
答案 0 :(得分:0)
您应该在 deviceready 事件触发后调用 checkConnection 功能,如果您在 deviceready 之前调用,则库可能已加载或未正确加载,因此您将得到错误。
document.addEventListenr("deviceready",checkConnection,
false);
这应该按预期工作。