【发布时间】:2012-03-12 22:42:31
【问题描述】:
我在使用指向动态页面的 jQuery Mobile 链接时遇到问题。
我有一个使用这样的相对链接生成的链接列表:
<a href="#page2?q=Foo">Foo</a>
<a href="#page2?q=Bar">Bar</a>
在页面page2上,我使用查询字符串中的数据来动态填充字段。
问题是,如果我点击Foo,返回,然后点击Bar,JQM 实际上再次将我带到#page2?q=Foo。我尝试在page2 上设置data-cache="never",但没有运气。知道为什么链接实际上并没有转到原来的位置,而是自页面加载后被点击的第一个链接?
编辑:示例站点此处 [已修复]。只需单击任何项目,返回并尝试转到另一个项目。你会再次获得第一个。
编辑:我尝试设置 data-dom-cache="false" 没有帮助,因为不是页面被缓存,而是链接被缓存(也许?)。我也尝试从 DOM 中删除该页面,但是当我尝试重新导航到该页面时,我无法,因为它已经消失了。
我尝试通过简单地以编程方式设置点击/点击页面值来解决此问题,但是在尝试加载特定页面(用于书签/深度链接)时这不起作用。
编辑 2: 我想我发现了一个可能导致此问题的相关问题。当我加载每个页面时,我会解析出 document.location.search。奇怪的是,像
这样的 URLhttp://.../#route-page?route=test
http://.../#route-page?route=test2
document.location.search 应该返回 ?route=test 和 ?route=test2 并且 document.locations.hash 应该返回 #route-page 两者。我实际上得到的是 document.location.search 的空字符串和 document.location.hash 的整个内容:#route-page?route=test。我是不是用错了这两个属性?
【问题讨论】:
标签: jquery-mobile