【问题标题】:cordova phonegap page hanging during ajax call在ajax通话期间挂起的cordova phonegap页面
【发布时间】:2012-09-13 10:37:38
【问题描述】:

我正在将 cordova phonegap 用于移动应用程序。使用设置超时功能,我在页面加载后通过 ajax 调用一些数据。但是,当我使用它时,应用程序在 ajax 数据传输期间的时间间隔内被挂起。之后一切都运行良好。如何解决它,任何想法

window.setTimeout(function(){

                                  // $("#home").slideDown(1000);

                                  // $("#home").addClass('curr');

                                  $("#datepicker").datepicker({ minDate: +1, maxDate: "+12M" });
                                  var twitterBox = $("#twitterBox");
                                  $.getJSON("http://api.twitter.com/1/users/show.json?screen_name=santanu1122&callback=?", function(tweetdata) {
                                            twitterBox.append("<p id=\"twitterUser\" class=\"twick\"><a onclick=\"newWin(this.href);return false;\" href=\"http://twitter.com/"+tweetdata.screen_name+"\">@"+tweetdata.screen_name+"</a><br/>Followers: "+tweetdata.followers_count+" Tweets: "+tweetdata.statuses_count+"</p>\n");
                                            getTweets();
                                            });

                                  $.ajax({
                                         type: "POST",
                                         url: "http://XXXXXXXXXXXXXX/fetchnewsfeed.php",
                                         data:"",
                                         success: function(newsfeedbyadmindetails){
                                         $('#newsfeedbyadmin').html(newsfeedbyadmindetails);
                                         $('#example1').fbWall({ id:'santanu.ece',accessToken:'XXXXxxxxxxxxxxxxxxxxxx'});
                                         }
                                         }).bind();

                                  }, 5500);

【问题讨论】:

  • 很高兴看到速率有所提高 - 现在,您通常在页面上更改了多少数据?如果您的文档中的更改太多,移动浏览器会阻塞,只有在处理这些更改时才会恢复 - 因此可能只是“有时”挂起您的浏览器,当没有那么多数据需要更改时
  • 是的,来自 facebook 帖子、twitter 帖子的数据,以及应用程序加载时来自数据库的数据。如果这不是方便的方式,那我该怎么做?

标签: jquery iphone xcode cordova xcode4.2


【解决方案1】:

最好的方法是扩展这一切 - 不要一起加载,先加载 facebook,然后在加载几秒钟后加载 twitter 等等......

如果结果太多,你甚至可以从 twitter 中拆分结果。然后,您可以每隔几秒更新 20 个结果 - 只要确保页面不会在当前视图之外滚动太多即可。

另一种方法是在您进行更新并在之后隐藏它时使用消息 - 例如“正在加载...”。

这真的取决于您正在寻找什么样的用户体验。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2014-02-13
    • 1970-01-01
    • 2017-01-11
    相关资源
    最近更新 更多