当本地从一个页面重定向到另一个页面时,Phonegap白色空白屏幕显示1-2秒

时间:2014-06-12 10:40:57

标签: android jquery-mobile cordova

您好我正在处理简单的phonegap应用程序,其中用户在第一页登录,之后如果登录成功,则用户被重定向到另一页面,该页面用于显示来自Web服务器的新闻源 我的问题是,当用户从登录重定向到新闻页面时,将显示白色屏幕1-2秒,然后显示新闻页面,

我做了一些研究,发现默认情况下屏幕是由android显示的,因为新闻页面未在设备中加载(准备好),一旦页面加载,白色屏幕将被实际页面替换 我正在使用phonegap最新版本-3 请帮我找一个我不想显示空白屏幕的解决方案

从中获取数据的各种链接列表

var xmlFeed = [
           {
           "News":[
                   {name: 'News', url : 'http://test1.php', visible: true}

                   ],
           "Rockstar":[
                   {name: 'Rockstar', url : 'http://test1.php', visible: true}

                   ],
           "CaseStudy":[
                         {name: 'Art&Culture', url : 'http://test2.php', visible: true}
                               ],

           }];

以及用于获取和显示设备中的数据的代码

function getNewsFeed(i, field) {

var $homePage = $('#home-page');
$homePage.find("#list_main").empty();

if (isCategoryVisible(field.name)) {

    $
            .ajax({
                url : field.url,
                dataType : 'xml',
                type : 'GET',
                beforeSend : function() {
                    $.mobile.showPageLoadingMsg();
                },
                complete : function() {
                    $.mobile.hidePageLoadingMsg();
                    if(firsttime)
                    {
                        firsttime=false;
                        $("#custom_loader").remove();
                        document.getElementById('wrapper').style.top = "126px";
                        //document.getElementById('wrapper').style.margin-top = "150px";
                    }
                },
                success : function(data) {

                    // console.log(data);
                    dataPool = data;
                    // alert(dataPool);

                    if ($(data).find("item").length > 0) {

                        $(data)
                                .find("item")
                                .each(
                                        function(i, val) {

                                            var main_list = 'main_list' + i;
                                            var a_list = 'a_list' + i;
                                            total_article=i;
                                            $homePage
                                                    .find("#list_main")
                                                    .append(
                                                            '<li id="'
                                                                    + main_list
                                                                    + '" data-name="'
                                                                    + main_list
                                                                    + '" data-icon="false" class="ui-li-has-thumb"><a href="#" id="'+ a_list+'"><img class="list_img" src="images/default.png" /><h2 class="wrap_text" style="white-space: normal !important;">Fever Sales Tool</h2><p>By:Marketing Team</p></a></li>');


                                            $("#list_main").listview(
                                                    "refresh");
                                            var nTitle = $(this).find(
                                                    "title").text();
                                            var nLink = $(this).find(
                                                    "img_url").text();

                                            $homePage.find("#" + main_list)
                                                    .find("h2").text(nTitle);
                                            if(nLink.length>0){
                                            $homePage.find("#" + main_list)
                                                    .find("img").attr(
                                                            "src", nLink);

                                            $(".wrap_text").css('width', wrap_text);//wrap the text
                                            }

                                        });
                    }

                    $.mobile.loading('hide');
                    // myScroll.refresh();
                    // return;
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    // console.log("Error status :"+textStatus);
                    // alert("Error type :"+errorThrown);
                    // alert("Error message :"+XMLHttpRequest.responseXML);
                }
            });
}

}

...谢谢

1 个答案:

答案 0 :(得分:0)

我认为你无能为力。页面显然需要一些时间从服务器加载。我可以想办法。使用inAppBrowser插件,您可以先加载服务器页面,然后在加载完成后显示inAppbrowser视图。与此同时,您可以在页面中显示任何内容,也许是加载标志。