Internet连接检查不起作用

时间:2013-10-15 07:35:39

标签: javascript html cordova

这里是我在带有sencha touch的基于phonegap的应用程序中使用的代码。我已经尝试检查互联网连接的可用性。警报仅在连接可用时有效。当互联网连接失败时,它不显示警报。这里是代码

  <!DOCTYPE HTML><html lang=en-US>
  <head>
    <meta http-equiv=Cache-control content=no-cache />
    <meta name=format-detection content="telephone=no"/>
    <meta name=apple-mobile-web-app-capable content=yes />
    <title>WishList</title>
    <link rel="stylesheet" href="resources/css/sencha-touch.css" />
    <link rel="stylesheet" href="resources/css/app.css" />
    <link href="resources/css/mobiscroll.min.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
       var a=navigator.onLine;
        if(a){
             alert('online');
        }else{
            Ext.Msg.alert("Alert!", "Please check your internet connection!");
        }
        </script>
    <script src="libraries/sencha/sencha-touch-all.js" defer></script>
    <script src="libraries/jquery/jquery.1.10.1.js" defer></script>
    <script src="libraries/mobiscroll/mobiscroll.min.js" type="text/javascript" defer>                 </script>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
    <script src="app/views/app.js" defer></script>
    <script src="app/views/JSfunctions.js" defer></script>
    <script type="text/javascript" src="app/views/cordova.js"></script>
 </head>
 <body>
 </body>
</html>

代码问题是什么?请帮助我

2 个答案:

答案 0 :(得分:2)

zvona答案指出了这个问题,但他的建议(将支票移到最后)并不能保证工作。

您需要以下代码(等待Ext初始化后)

Ext.onReady(function(){
    var a=navigator.onLine;
    if(a){
         alert('online');
    }else{
        Ext.Msg.alert("Alert!", "Please check your internet connection!");
    }

});

答案 1 :(得分:0)

在加载框架(Sencha / ExtJS)之前,您正在调用Ext.Msg.alert。将navigator.onLine检查脚本移至底部