【问题标题】:Phonegap white blank screen shown for 1-2 seconds when redirecting from one page to another page locally本地从一页重定向到另一页时,Phonegap 白色空白屏幕显示 1-2 秒
【发布时间】:2014-06-13 21:53:17
【问题描述】:

您好,我正在开发简单的 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);
                }
            });
}

}

谢谢...

【问题讨论】:

  • 您能发布您的代码吗?
  • 嗨 Siddharth -我已将代码包含在已编辑的问题中,请检查

标签: android jquery-mobile cordova


【解决方案1】:

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

【讨论】:

  • -我的问题不在于加载数据时从网络服务器加载数据我显示加载标志并且工作正常,我面临加载文件延迟的问题在 android 设备中,设备就绪事件在用户从登录页面重定向后 1 或 2 秒后触发,并在此期间显示白页
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多