以前访问过的页面会不断添加到后台

时间:2014-03-14 23:08:00

标签: jquery-mobile

当我点击我的JQM网站时,我访问的页面很好,我点击进入下一个,这很好,但下面显示的是上一页,不仅如此,因为我不断访问页面,之前的页面不断添加到了第二个'背景'层。 (在底部,如果我两次访问该页面,甚至两次!)

为什么会这样?我没有正确设置什么设置?它与缓存或pageremove有关吗?

注释

版本1.4(最新的稳定JQM)

所有新页面都可以通过SUBMIT(即从表单)访问而不是链接

除索引之外的所有页面都是动态php页面

如果您认为现在使用的代码的任何特定部分是相关的,请告诉我,但我怀疑它是。

2 个答案:

答案 0 :(得分:0)

Jquery Mobile会在不断更新DOM时删除页面,但有两种情况除外。

1所有直接引用的页面,例如索引/到达页面(加载的ist页面)都不会被删除(你会看到doctype和head)。

2除了FORMS之外,所有通过AJAX加载的页面都被删除了。

因此,通过表单导航的网站不会删除页面。

因此,应该通过插入新页面来删除表单页面。实际上重新加载jquery mobile。因此需要包含doctype,head等,就像每个页面都是登录页面一样。

如何让表单创建新页面?

使用

data-ajax="false"

在表单属性中。

缺点: 现在你基本上离开了jqm结构,你将无法使用漂亮的装载页面旋转轮......

增加了优势 这意味着外部js文件也会直接重新加载

如果有一个解决方案也允许网站'留在'JQM,请发布,我会接受它作为答案。

答案 1 :(得分:-1)

尝试使用此设置设置您的jquery mobile

$(document).bind("mobileinit", function() {
    $.mobile.ajaxEnabled = false;
    $.mobile.linkBindingEnabled = false;
    $.mobile.hashListeningEnabled = false;
    $.mobile.pushStateEnabled = false;
    // Remove page from DOM when it's being replaced
    $('div[data-role="page"]').live('pagehide', function(event, ui) {
        $(event.currentTarget).remove();
    });
});

在此处查看我的示例代码:https://github.com/datomnurdin/service-finder-mobile