2015-04-06 143 views
2

我正在構建一個科爾多瓦應用程序,其中 - 我使用Cordova網絡信息插件org.apache.cordova.network-information。從前幾天我在Safari瀏覽器中調試時發現這個奇怪的錯誤,其中「typeerror'undefined'不是對象(評估'navigator.connection.type')」。在初始加載過程中,它工作正常,但在進一步導航中顯示此錯誤並且應用程序凍結。在iOS 8中,它經常發生,但偶爾會發生在Android棒棒糖中。我已經嘗試了所有關於此的建議或帖子,但它並沒有引導我。我正在使用科爾多瓦版本4.3,iOS 8.1。任何幫助深表感謝抱歉無法發佈對此的任何圖片,因爲我沒有足夠的聲譽將它張貼類型錯誤'undefined'不是一個對象(評估'navigator.connection.type')

function checkConnection() { 
    alert(navigator.connection.type); 
    var networkState = navigator.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.CELL]  = 'Cell generic connection'; 
    states[Connection.NONE]  = 'No network connection'; 
    if(networkState == Connection.UNKNOWN || networkState == Connection.NONE){ 
     navigator.notification.alert('No Network Available',null,"Warning"); 
     sessionStorage.setItem('UserID',""); 
     $.mobile.changePage("#loginPage", { 
          transition: 'none', 
          showLoadMsg: true 
          }); 
     return false; 
    }else{ 
     return true; 
    } 
} 
+0

試試看看這個http://stackoverflow.com/questions/26 790729/ios8-phonegap-cordova-network-information-app-crashes – 2015-04-06 07:32:51

+0

另外,是否有任何事情記錄到'platforms/ios/cordova/console.log'? – 2015-04-06 07:39:45

+0

我剛剛嘗試鏈接,但它導致我無處:-( – ashwin 2015-04-06 07:51:31

回答

1

檢查您是否已經把這些

<feature name="NetworkStatus"> 
     <param name="android-package" value="CDVConnection" /> 
</feature> 

網絡狀態將是功能名稱和值將是您的班級名稱。

在Android清單,

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

阿蘇檢查cordova_plugin.js

cordova.define('cordova/plugin_list', function(require, exports, module) { 
    module.exports = [{ 
     "file": "plugins/org.apache.cordova.dialogs/www/notification.js", 
     "id": "org.apache.cordova.dialogs.notification", 
     "merges": ["navigator.notification"] 
    }, { 
     "file": "plugins/org.apache.cordova.network-information/www/network.js", 
     "id": "org.apache.cordova.network-information.network", 
     "clobbers": ["navigator.connection", "navigator.network.connection"] 
    }]; 
    module.exports.metadata = // TOP OF METADATA 
    { 
     "org.apache.cordova.device": "0.2.8", 
     "org.apache.cordova.network-information": "0.2.7" 
    } 
}); 
+0

是的,他們是可用cordova_plugin.js和iPhone的任何建議.. – ashwin 2015-04-06 09:59:46

1

在我的情況下,問題是,我是唱出device ready 的這樣算下來這個固定的功能我問題:

document.addEventListener("deviceready", function(){ 
    // do your navigator.connection.type stuff here 
    }, false); 
相關問題