2013-12-12 128 views
1

我使用科爾多瓦開發智能手機應用程序。科爾多瓦 - 檢查無線網絡連接到互聯網

在這個應用程序,我需要檢查互聯網連接之前發送請求到服務器。

爲了做到這一點我用科爾多瓦連接API,但在設備連接到WiFi網絡,沒有互聯網連接的情況下,這個API說,我們有WIFI連接,

有什麼如何檢查WIFI網絡上是否有互聯網?

回答

3

在發送實際請求之前發送虛擬ajax請求,如果您得到錯誤代碼爲'0',則表示沒有互聯網連接。

$.ajax({ 
    url: 'TestUrl', 
    type: 'GET', 
    success: function (data) { 
       // Go ahead with you request 
    }, 
    error: function (x, y, z) { 
     if (x.status == 0) { 
      alert("Please connect to the internet"); 
     } 
     else{ 
      alert("Other Error Occured") 
     } 
    } 
}); 

其次,你也可以讓你的HTML 5導航

var condition = navigator.onLine ? "ONLINE" : "OFFLINE"; 
+0

我想你的HTML5解決方案,但當我的WIFI沒有提供互聯網連接時,它不起作用並顯示在線狀態 – jusabatier

+0

您的第一個解決方案工作,但我實際上使用它並希望在發送AJAX請求之前檢查連接,以避免AJAX之前的漫長等待時間時間到。 – jusabatier

+0

沒有得到你? –

1

我沒有用科爾多瓦很多,但我認爲,如果你有互聯網接入,它不能識別,它只是承認,如果你是連接到網絡。

你可以做一個解決方法:嘗試發送你的請求,並捕獲你失敗時得到的錯誤,從那裏你可以告訴用戶他沒有互聯網接入。

1

您可以使用cordova plugin add org.apache.cordova.network-information添加Connection功能。 These are the Connection docs

該插件將訪問window.Connection

然後,你可以這樣做:

if (navigator.connection.type == Connection.NONE) { 
    alert("you're going to need more internet, brah"); 
} 

您還可以訪問其他國家,如CELL_2GCELL_3GWIFI等..

+0

爲什麼這不是我接受的答案,我不知道 –

相關問題