2014-12-15 2 views
0

Мне нужно позвонить по двум функциям на основе в Интернете/наличии.Как проверить подключение к мобильному Интернету

Если есть подключение к Интернету настоящее время, то вызов функции вставки, в противном случае нажмите обновление.

Я пытался так:

var online = window.navigator.onLine; 
    if (online==ture) { 
     alert('connection down.'); 
    }else 
    { 
     alert('Please check your internet connection and try again'); 
    } 

Этот код работает в браузере только, но не на device.It всегда показывает в обоих случаях то есть интернет присутствует или нет alert('connection down');.

Пожалуйста, руководство по этому коду, поскольку я новичок в Phonegap.

+0

онлайн = правда? не надо? –

+0

@MidhunMundayadan Я попробовал, как вы сказали, но у моего мобильного телефона нет интернета, но когда я печатаю онлайн-переменную, он показывает правду. Пожалуйста, помогите мне –

+0

ли вы используете HTML5? –

ответ

0

Используйте этот плагин для своих нужд (https://github.com/apache/cordova-plugin-network-information). После установки попробуйте этот код, чтобы проверить подключение к Интернету.

document.addEventListener("deviceready",checkInternet,false); 
function checkInternet(){ 
    if(navigator.connection.type=="none"){ 
    //no internet connection 
    alert("No connection");  
    }else{ 
    alert("Connection ok"); 
    } 

} 
+0

спасибо за ответ, я попробую –

0

Это часть HTML5 API. Проверьте значение window.navigator.onLine - он будет ложным, если пользователь отключен. индикатор обновляется по мере того, как браузер переходит в автономном режиме и офлайн.

<head> 
    <title>Online status</title> 
    <script> 
    function updateIndicator() 
    { 
    document.getElementById('indicator').textContent = navigator.onLine ? 'online' : 'offline'; 
    } 
    </script> 
    </head> 
    <body onload="updateIndicator()" ononline="updateIndicator()" onoffline="updateIndicator()"> 
    <p>The network is: <span id="indicator">(state unknown)</span> 
    </body> 

For more info

+0

спасибо, но код будет работать на браузере при запуске этого кода в мобильном устройстве не работает –

0

В API вы используете воли не работу на мобильном телефоне. Вместо этого вам нужно использовать Network API.

Вам нужно сделать:

  1. Добавить сетевой модуль с помощью следующей команды через CL

    cordova plugin add org.apache.cordova.network-information

  2. Теперь получить статус сети, как

    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(); 
    
Смежные вопросы