【发布时间】:2014-09-09 15:28:40
【问题描述】:
我的单页应用程序包含许多 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();
});
后退按钮是这样管理的:
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
【问题讨论】:
标签: javascript android jquery-mobile cordova