更改页面在jquery mobile ios和phonegap中不起作用

时间:2013-07-17 12:29:16

标签: ios jquery-mobile cordova

我正在解释下面的情况,目前我正在面对我正在处理的应用程序。

该应用程序由Login模块组成,该模块将数据存储到应用程序本地存储。 现在,当我启动应用程序时,它会检查本地存储中的密钥,并相应地调用应用程序中的更改页面。

如果我清除本地存储并重新启动应用程序,那么所有转换都是完美的。但是,如果应用程序本地存储和应用程序中已存在数据,则会将我带到定义的主屏幕。

我那边有一个jquery listview。现在当我在后面的场景中调用changePage时没有任何反应,即当我登陆主页时。但是在第一个场景中,当我从登录屏幕开始时一切正常。

以下是注销的代码

localStorage.removeItem("userdata");
            localStorage.removeItem("default_data");
            $("#block-ui").show();
            $.mobile.loading('show');
            setTimeout(function(){
                $.mobile.loading('hide');
                $("#block-ui").hide();
                $.mobile.changePage("index.html",{allowSamePageTransition:true,reloadPage:true,changeHash:false,transition:"slide"});
                },2500);

1 个答案:

答案 0 :(得分:3)

最后我能够解决问题。

根据理解,jquery mobile将index.html加载为初始页面,并使用ajax将其他html页面加载到应用程序中。因此,基本级别永远不会从index.html更改为任何其他页面。

现在问题是由于以下语法

$.mobile.changePage("home.html",{allowSamePageTransition:true,reloadPage:true,changeHash:true,transition:"slide"});

我刚将其更改为以下内容:

$.mobile.changePage("home.html",{allowSamePageTransition:true,reloadPage:false,changeHash:true,transition:"slide"});

它开始起作用了。

无论如何,谢谢你的帮助。此外,您可以查看以下链接,以更好地了解陷阱并相应地处理它们:

http://rip747.wordpress.com/2012/04/19/pitfalls-with-jquery-mobile-and-how-to-over-come-them/