单击后退按钮时为什么动态页面重新加载?

时间:2012-03-29 20:32:07

标签: jquery-mobile

我一直在使用jQuery mobile 1.0.1。

我有一个深入到列表页面的页面。列表页面是动态创建的,因为它的链接具有到单独页面的href。

我觉得令人困惑的是,当我从详细信息页面点击后退按钮时,会有一个ajax调用来获取列表页面。我不明白为什么这会发生,因为列表页面在DOM中。

不仅效率低下,而且假设我已经过了清单页面上的列表,当列表页面重新加载时,该信息将会丢失。

我找到了一个解决方法,在第一页上加载了空的列表页面,然后我通过自己进行ajax调用来动态修改它。当我这样做时,从详细页面回到列表页面时,它不会进行ajax调用。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:5)

jQuery Mobile在导航离开后从DOM中删除伪页面(仅适用于外部页面)。您可以通过将data-dom-cache="true"属性添加到伪页面的data-role="page"元素来在单个伪页面上停止此行为:

<div data-dom-cache="true" data-role="page">
    ...
</div>

还有其他方法可以启用(我确实禁用了)这个功能;你可以在这里阅读它们:http://jquerymobile.com/demos/1.0.1/docs/pages/page-cache.html