Jquery移动应用程序 - 导航始终不起作用

时间:2014-09-09 15:28:40

标签: javascript android jquery-mobile cordova

我的单页应用程序包含许多data-role =“page”,每个页面加载一个脚本,其中 pageshow pagebeforeshow 被拦截(如下所示)。

pageshow 中我填写一个html标记,然后在 pagebeforeshow 中清空它。

> $(document).delegate("#page1", "pageshow",        
function (e, data) {   
> filling page1Content ... 
}
> 
> $("#page1").on("pagebeforeshow", 
function(e, data) {
>   $("#page1Content").empty(); 
});

Backbutton以这种方式管理:

function onBackKeyDown() {
    if($.mobile.activePage.attr('id') == 'page2'){
        $.mobile.pageContainer.pagecontainer("change",
        "#page1");
    }else if ($.mobile.activePage.attr('id') == 'page3') {
        $.mobile.pageContainer.pagecontainer("change",
        "#page2");
    }
...

导航工作正常以及后退按钮但是经过一段时间的冲浪后它会被破坏,丢失一些页面或加载同一页面然后它继续正常工作。

问题:

  • 如何解决我的问题?

  • 我管理活动的方式是否有错误的模式/功能?

  • 页面是否存储在某种堆栈中? (如果是,我该如何检查?)

我正在使用JQM 1.4,Cordova 3.4,Android

1 个答案:

答案 0 :(得分:0)

我的解决方案是将我的单页应用程序重构为多页

在导航过程中,一切都开始超高速工作并没有问题。

我不建议将SPA用于此环境新手。