$ .mobile.changePage未正确加载下一个动态页面

时间:2012-09-11 06:39:28

标签: jquery json windows-phone-7 cordova jquery-mobile

我正在使用jQuery mobile和PhoneGap(1.9.0)开发windows mobile 7应用程序。我在应用程序中有多个html页面,所有页面中的数据都是通过JSON解析加载的,需要存储一些数据。所以我使用localStorage进行数据存储(因为windows浏览器还没有通过phonegap支持数据库)。在Windows浏览器中,本地存储仅适用于phonegap的deviceready事件。

document.addEventListener("deviceready", mymethod, false);

function mymethod(){

}

除了当我在页面之间导航时,白色屏幕首先出现,然后新页面将会出现,所以每件事情都能正常工作。哪个看起来很糟糕

我使用window.location.href='page2.html';(每种方法都可以正常工作但延迟在页面之间导航)

在屏幕之间导航。

但是当我使用

$.mobile.changePage("page2.html");

然后白屏将消失,但我的deviceready方法将无法工作,并且会出现带有一些静态数据(页眉和页脚)的空白屏幕。请告诉我我错在哪里。我应该如何使用$.mobile.changePage("page2.html");,并在下一页中,我的页面加载了来自本地存储或json解析的内容。或使用window.location.href='page2.html';但没有白色华丽的屏幕。

我希望你们都理解我的问题 有没有解决这个问题的方法。

1 个答案:

答案 0 :(得分:1)

您应该使用$.mobile.changePage("page2.html");,因此jqm将使用Ajax加载此页面(并且可以进行很好的转换)。将不再有deviceready事件(当您留在页面中时),但是当显示页面时,您可以捕获pageshow事件。

(来自文档:http://jquerymobile.com/demos/1.1.1/docs/api/events.html

$( 'div' ).live( 'pageshow',function(event, ui){
  alert( 'This page was just hidden: '+ ui.prevPage);
});