cordova checkConnection()onload无法正常工作

时间:2017-04-28 11:06:42

标签: javascript ios iphone cordova

我建立了一个功能来检查设备的互联网连接

<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接近bodycordova.js中的header

怎么了?

1 个答案:

答案 0 :(得分:0)

您应该在 deviceready 事件触发后调用 checkConnection 功能,如果您在 deviceready 之前调用,则库可能已加载或未正确加载,因此您将得到错误。

document.addEventListenr("deviceready",checkConnection,
false);

这应该按预期工作。