Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';使用my phonegap jquery应用程序无法在页面加载时获取连接状态_Javascript_Jquery_Cordova_Jquery Mobile - Fatal编程技术网

Javascript Can';使用my phonegap jquery应用程序无法在页面加载时获取连接状态

Javascript Can';使用my phonegap jquery应用程序无法在页面加载时获取连接状态,javascript,jquery,cordova,jquery-mobile,Javascript,Jquery,Cordova,Jquery Mobile,当我的phonegap应用程序加载时,我正在尝试加载数据源。它工作得很好,除了当我没有数据连接时,我希望系统能够感觉到这一点,然后给出一个很好的消息,比如,“对不起,你没有数据连接。”。页面加载完毕后,我可以单击一个按钮并运行一个函数,告诉我连接状态。然而,当页面加载时,它不会自动运行这段代码,我也不知道为什么。在iOS或Android上测试时,我也遇到了同样的问题。我只剥离了最基本的部分,希望有人不会发现问题 <html> <head> <link rel

当我的phonegap应用程序加载时,我正在尝试加载数据源。它工作得很好,除了当我没有数据连接时,我希望系统能够感觉到这一点,然后给出一个很好的消息,比如,“对不起,你没有数据连接。”。页面加载完毕后,我可以单击一个按钮并运行一个函数,告诉我连接状态。然而,当页面加载时,它不会自动运行这段代码,我也不知道为什么。在iOS或Android上测试时,我也遇到了同样的问题。我只剥离了最基本的部分,希望有人不会发现问题

<html>
<head>
    <link rel="stylesheet" type="text/css" href="css/main.css" />   
    <script type="text/javascript" charset="utf-8" src="js/jquery-1.7.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/main.js"></script>
    <script src="js/jquery.jsonp-2.1.4.min.js"></script>    
<script>
function checkConnection() {
    var networkState = navigator.network.connection.type;
    var states = {};
    states[Connection.UNKNOWN]  = 'Unknown connection';
    states[Connection.ETHERNET] = 'Ethernet connection';
    states[Connection.WIFI]     = 'WiFi connection';
    states[Connection.CELL_2G]  = 'Cell 2G connection';
    states[Connection.CELL_3G]  = 'Cell 3G connection';
    states[Connection.CELL_4G]  = 'Cell 4G connection';
    states[Connection.NONE]     = 'No network connection';
    alert('Connection type: ' + states[networkState]);
    if(states[networkState] == 'No network connection') { show_no_connection(); }
}

$(document).ready(function(){
    checkConnection();
});

function show_no_connection() {
        $('#status').html('You Have No Data Connection!');  
}   


</script>       

</head>
<body>

 <div id="status">SO FAR, YOU HAVE A CONNECTION.</div>
     <a href='javascript:void(0);' onclick='checkConnection();'>Check your connection</a><br/><br/> 
    <script type="text/javascript" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
        app.initialize();
    </script>       
</body>

函数checkConnection(){
var networkState=navigator.network.connection.type;
变量状态={};
状态[Connection.UNKNOWN]=“未知连接”;
状态[Connection.ETHERNET]=“以太网连接”;
状态[Connection.WIFI]=“WIFI连接”;
状态[Connection.CELL_2G]=“CELL 2G Connection”;
状态[Connection.CELL_3G]=“CELL 3G Connection”;
状态[Connection.CELL_4G]=“CELL 4G Connection”;
状态[Connection.NONE]=“无网络连接”;
警报('连接类型:'+状态[网络状态]);
如果(states[networkState]=='No networkconnection'){show_No_connection();}
}
$(文档).ready(函数(){
检查连接();
});
函数show_no_connection(){
$(“#status').html('您没有数据连接!');
}   
到目前为止,你有联系。


app.initialize();

Classic
jQuery
语法
$(文档).ready(函数(){
不应与
一起使用,它将无法正常工作,更不用说它不能用于初始化
代码。有关此主题的更多信息可在此中找到

这应该用来解决这个问题:

document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
function onDeviceReady() {
    checkConnection();
}

function checkConnection() {
    var networkState = navigator.network.connection.type;
    var states = {};
    states[Connection.UNKNOWN]  = 'Unknown connection';
    states[Connection.ETHERNET] = 'Ethernet connection';
    states[Connection.WIFI]     = 'WiFi connection';
    states[Connection.CELL_2G]  = 'Cell 2G connection';
    states[Connection.CELL_3G]  = 'Cell 3G connection';
    states[Connection.CELL_4G]  = 'Cell 4G connection';
    states[Connection.NONE]     = 'No network connection';
    alert('Connection type: ' + states[networkState]);
    if(states[networkState] == 'No network connection') { show_no_connection();
}

function show_no_connection() {
    $('#status').html('You Have No Data Connection!');  
}   
代码需要等待Phonegap框架初始化,操作如下:

document.addEventListener("deviceready", onDeviceReady, false);