2016-08-02 14 views
7

मैंने कुछ सुझावों की कोशिश की, जैसे कि नेविगेटर.ऑनलाइन, लेकिन यहां तक ​​कि उड़ान मोड में, मेरा ऐप "ऑनलाइन" सोचता है।कॉर्डोवा ऐप पर इंटरनेट कनेक्शन कैसे जांचें?

मुझे AJAX के साथ कुछ सुझाव भी मिले, लेकिन मैं सिर्फ यह जांचना चाहता हूं कि मैं बाहरी वेब पेज खोलने के लिए ऑनलाइन हूं या नहीं। यदि नहीं, तो मुझे एक संदेश दिखाना है जैसे "आपका डिवाइस ऑफ़लाइन प्रतीत होता है। अपना कनेक्शन जांचें!"।

+0

और समस्या क्या प्रतीत होती है? सेवा से कनेक्ट करने का प्रयास करते समय आपको कोई त्रुटि मिलने पर संदेश नहीं दिखाया जा सकता है? – MatejMecka

उत्तर

9

सबसे अच्छा तरीका cordova network information plugin का उपयोग करना है जो आपके लिए काम करता है। यह प्लगइन डिवाइस के सेलुलर और वाईफाई कनेक्शन के बारे में जानकारी प्रदान करता है, और डिवाइस के पास इंटरनेट कनेक्शन है या नहीं।

आप इस प्लगइन के official github page को और अधिक जानकारी के लिए देखें। आशा करता हूँ की ये काम करेगा।

2

तक this

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'; 

    alert('Connection type: ' + states[networkState]); 
} 

checkConnection(); 
2

प्लगइन डाउनलोड करें: https://www.npmjs.com/package/cordova-plugin-network-information

और यह प्रयास करें।

document.addEventListener("deviceready", function(e){ 
     console.log(navigator.connection.type); 
     document.addEventListener("offline", function(e){ 
          alert("NO_NETWORK"); 

     }, false); 
}, false); 

ऑफ़लाइन

घटना पर सक्रिय होता है एक आवेदन ऑफ़लाइन जाता है, और डिवाइस इंटरनेट से कनेक्ट नहीं है।

document.addEventListener("offline", yourCallbackFunction, false); 
संबंधित मुद्दे