当我点击我的JQM网站时,我访问的页面很好,我点击进入下一个,这很好,但下面显示的是上一页,不仅如此,因为我不断访问页面,之前的页面不断添加到了第二个'背景'层。 (在底部,如果我两次访问该页面,甚至两次!)
为什么会这样?我没有正确设置什么设置?它与缓存或pageremove有关吗?
注释
版本1.4(最新的稳定JQM)
所有新页面都可以通过SUBMIT(即从表单)访问而不是链接
除索引之外的所有页面都是动态php页面
如果您认为现在使用的代码的任何特定部分是相关的,请告诉我,但我怀疑它是。
答案 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