如果在Cordova inappbrowser中无法加载url,如何显示自定义本地页面

时间:2016-06-22 09:53:54

标签: cordova hybrid-mobile-app visual-studio-cordova cordova-3

我正在使用InApp浏览器并调用页面。我想要的是,如果互联网连接到设备,那么它必须显示网址,如果没有连接,则显示本地页面。

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,“网络错误”,“确定”);

        }



        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,“网络错误”,“确定”);

        }

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


    }

有谁知道我必须在哪里放置重定向页面?

1 个答案:

答案 0 :(得分: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
}