0

Я использую браузер InApp и вызываю страницу. Я хочу, чтобы, если Интернет подключен к устройству, он должен отображать URL-адрес, а если он не подключен, он отображает локальную страницу.Как показать пользовательскую локальную страницу, если url не загружается в Кордове inappbrowser

function onDeviceReady() { 

    document.addEventListener('pause', onPause.bind(this), false); 
    document.addEventListener('resume', onResume.bind(this), false); 
    var inAppBrowserbRef;  
    inAppBrowserbRef = window.open('http://www.xxxxx.com', '_self', 'location=no,toolbar=no'); 
    inAppBrowserbRef.addEventListener('loadstart', inAppBrowserbLoadStart) 

    inAppBrowserbRef.addEventListener('loadstop', inAppBrowserbLoadStop); 

    inAppBrowserbRef.addEventListener('loaderror', inAppBrowserbLoadError); 

    inAppBrowserbRef.addEventListener('exit', inAppBrowserbClose); 

    function inAppBrowserbLoadStart(event) {  
     var options = { dimBackground: true }; 
     SpinnerPlugin.activityStart("Loading...", options); 

    if (navigator.connection.type == Connection.NONE) 

{ navigator.notification.alert ('Подключение к Интернету требуется

, чтобы продолжить', alertSuccess, "Ошибка сети", "Ok");

 } 



     function alertSuccess() { 


      navigator.app.exitApp(); 


     } 


    } 

    function inAppBrowserbLoadStop(event) { 


     SpinnerPlugin.activityStop(); 



     if (navigator.connection.type == Connection.NONE) { 


      navigator.notification.alert('An internet connection is required 

для продолжения ', alertSuccess, "Network Error", "Ok");

 } 

     function alertSuccess() { 


      navigator.app.exitApp(); 


     } 
    } 

    function inAppBrowserbLoadError(event) { 


     SpinnerPlugin.activityStop(); 



     if (navigator.connection.type == Connection.NONE) { 


      navigator.notification.alert('An internet connection is required to continue', alertSuccess, "Network Error", "Ok"); 


     } 

     function alertSuccess() { 


      navigator.app.exitApp(); 


     } 
    } 

    function inAppBrowserbClose(event) { 


     SpinnerPlugin.activityStop(); 



     inAppBrowserbRef.removeEventListener('loadstart', iabLoadStart); 


     inAppBrowserbRef.removeEventListener('loadstop', iabLoadStop); 


     inAppBrowserbRef.removeEventListener('loaderror', iabLoadError); 


     inAppBrowserbRef.removeEventListener('exit', iabClose); 


    } 

Кто-нибудь знает, где я должен поставить страницу переадресации?

+0

фиксированный кодовый блок беспорядок –

+0

Вы имеете в виду вы не знаете, куда поместить локальную страницу, которая должна быть открыта, когда Интернет не подключен к устройству? –

+0

на самом деле я пробовал, но он не работает, и я смущен, где можно проверить условие на это – Madpop

ответ

1

Вы хотите использовать плагин cordova-plugin-network-information (который, как он выглядит, как вы используете), чтобы обнаружить состояние онлайн/оффлайн. В обработчике событий onDeviceReady() вы можете добавить слушателей ответить на офлайновых/интернет событий:

document.addEventListener("offline", goOffline, false); 
document.addEventListener("online", goOnline, false); 

function goOffline() { 
    // Redirect to your local/offline page here 
} 

function goOnline() { 
    // Load the actual online content in InAppBrowser 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^