加速$ .mobile.changePage方法

时间:2014-02-11 17:30:53

标签: javascript html5 css3 jquery-mobile

我正在使用

$.mobile.pageContainer.pagecontainer("change", myPage);

导航到JQM 1.4.0中的页面,我注意到这个方法使用大约70ms-110ms执行,不知怎的,这是我的拙见,所以我想知道有没有办法加快这个。 mobileinit 事件处理程序中转换设置为“none”

 $.mobile.defaultPageTransition = "none";
 $.mobile.defaultDialogTransition = "none";

在我的具体示例中,我从服务器发送完整的jqm页面,页面有标题,* 页脚 *(带导航)和内容我有 listview小部件,其中21项带有图标,data-filter ='true'。

  • JQM 1.4.0中的页面大小为9,637kB(1,0kB gzip)并且它接收 平均102.1ms(10 mesurment)到pageChange,
  • 在其他情况下,我使用JQM 1.3.1页面​​大小测试了相同的人员 9,637kB(1,0kB gzip),平均需要102.8ms(10 mesurment) pageChange。

因此结果或多或少相同。我需要更少的时间来访问服务器并获取数据,而不是通过$ .mobile.changePage方法呈现页面:(。这是在桌面浏览器上测试的,移动浏览器可能使用JS更慢。

我使用console.time('start')和console.timeEnd('start')来主要在firefox(桌面)浏览器中测量时间。

修改

..
..
$.mobile.loading("show"); 
 getHomePageUI().always(function (data) {//AJAX CALL
        $.mobile.loading("hide");

        if (data.d != null) {

            var homePage = $(data.d);
            homePage.appendTo($.mobile.pageContainer);

            console.time('home1');
            $.mobile.pageContainer.pagecontainer("change", homePage);
            console.timeEnd('home1');

        }
        else {
            MyApp.DisplayErrorMsg("Error calling service!!");
        }
    });
..
..

@Giovanni我已经更新了代码。

0 个答案:

没有答案