1

我正在使用 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';但没有白色闪屏。

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

4

1 回答 1

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);
});
于 2012-09-11T06:50:44.800 回答