Cordova InAppBrowser Android加载微调器

问题描述 投票:0回答:2

我有一个使用cordova和InAppBrowser构建的应用程序。我试图在每个页面中显示一个“正在加载微调器”。在iOS中,我加载的每个页面都运行良好,但Android失败。在iOS上,我刚刚在CDVInappBrowser.m中编辑了self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]此行并可以运行。Android是否具有类似功能?

这是我的代码:

       // Cordova is ready
        function onDeviceReady() {

            var ref = window.open("http://m.estadao.com.br/?load-all=true", "_blank", "location=no", "toolbar=no", "closebuttoncaption=a", "EnableViewPortScale=no");

            navigator.notification.activityStart("Loading", "Loading...");
            setTimeout(function(){
                navigator.notification.activityStop();
            }, 5000);
         }
android ios cordova phonegap-plugins inappbrowser
2个回答
1
投票

检查此插件:https://github.com/Paldom/SpinnerDialog

[在Android中为我工作。您应该使用此方法显示带有标题和消息的微调框:

window.plugins.spinnerDialog.show("Loading","Loading...");

您的代码为:

  function onDeviceReady() {

        var ref = window.open("http://m.estadao.com.br/?load-all=true", "_blank", "location=no", "toolbar=no", "closebuttoncaption=a", "EnableViewPortScale=no");

        window.plugins.spinnerDialog.show("Loading","Loading...");
        setTimeout(function(){
            window.plugins.spinnerDialog.hide();
        }, 5000);
  }

0
投票

Resvolvi dessa forma

// window.open示例

 // Wait for device API libraries to load
   document.addEventListener("deviceready", onDeviceReady, false);
   function onDeviceReady() {
    // external url
   // var ref = window.open(encodeURI('http://mfsom.com.br/'), '_blank', 'location=no','toolbar=no');
   //relative document
     ref = window.open('http://mfsom.com.br/','_self',',location=no');

ref.addEventListener('loadstart', loadstartCallback);
ref.addEventListener('loadstop', loadstopCallback);
ref.addEventListener('loadloaderror', loaderrorCallback);
ref.addEventListener('exit', exitCallback);

function loadstartCallback(event) {

    showSpinnerDialog();

}

function loadstopCallback(event) {
    hideSpinnerDialog();
}

function loaderrorCallback(error) {
console.log('Erro ao carregar: ' + error.message)

}

function exitCallback() {
console.log('O navegador está fechado...')

}

function showSpinnerDialog() {
navigator.notification.activityStart("Carregando..");
//$.mobile.loading("show");
}

function hideSpinnerDialog() {
navigator.notification.activityStop();
    //$.mobile.loading("hide");
}

// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );

// TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.

};

© www.soinside.com 2019 - 2024. All rights reserved.