2016-01-21 30 views
-1

我正在使用以下代碼的cordova-plugin-network-information插件。cordova - 先檢查網絡連接,然後加載正文頁面

<script type="text/javascript" charset="utf-8"> 

    // Wait for device API libraries to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     checkConnection(); 
    } 

    function checkConnection() { 
     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.NONE){ 
      window.location.href = "index2.html"; 
     } else{ 
      document.getElementById('custom-message').style.display = "block"; 
     } 

    } 

    </script> 

這個插件工作正常,但它重定向到第二頁(索引2)。

我想以這樣的方式,首先檢查連接&然後加載相同的頁面索引頁面(無需創建索引頁面),如果失敗(沒有互聯網),然後拋出自定義錯誤消息。

感謝

+0

你有什麼alredy試過嗎? – valepu

回答

0

我使用這個:

function init() { 
    document.addEventListener("online", onOnline, false); 
    document.addEventListener("offline", onOffline, false); 
    document.addEventListener('deviceready', startUp, false); 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 
function onOnline() { 
    $('#noInternet').hide(); 
} 
function onOffline() { 
    $('#noInternet').show(); 
} 

它不僅檢查在頁面加載的地位,而且當它改變。因此,如果連接脫機,則會顯示自定義錯誤消息(#noInternet)。當連接恢復在線時,消息消失。

從我的代碼

除此之外,讓你的代碼功能改變這一點:

if(networkState != Connection.NONE){ 

要:

if(states[networkState] != states[Connection.NONE]){ 
+0

我該如何使用你的代碼?你能否給我提供完整的代碼。因爲我是初學者。 – A2zbollywood

+0

即使我改變了這個if(states [networkState]!= states [Connection.NONE]){但頁面只是不斷刷新... – A2zbollywood

+0

看看http://stackoverflow.com/a/19319892/1930721,這可能有幫助。 – LinkinTED