Jquery mobile 为什么不';t jQuery Mobile prefetched“;单页“;页面的工作方式与“完全相同”;多页“;页

Jquery mobile 为什么不';t jQuery Mobile prefetched“;单页“;页面的工作方式与“完全相同”;多页“;页,jquery-mobile,Jquery Mobile,我有一个网站,由一堆单页模板jQuery移动页面组成,这些页面通过预取和缓存相互链接。所有页面都存在于DOM中(预取后) 这在我的桌面浏览器上运行良好。然而,当我使用我的HTC EVO 3D Android手机(默认浏览器或Opera浏览器)浏览我的网站时,在页面之间切换的行为就像我实际上要进入一个外部页面。换句话说,浏览器的地址栏瞬间出现,然后页面变白,然后加载新页面,然后地址栏消失 我希望其行为与多页模板完全相同。例如,如果您浏览jQuery移动文档中的多页模板,您可以非常顺利地从一个页面切

我有一个网站,由一堆单页模板jQuery移动页面组成,这些页面通过预取和缓存相互链接。所有页面都存在于DOM中(预取后)

这在我的桌面浏览器上运行良好。然而,当我使用我的HTC EVO 3D Android手机(默认浏览器或Opera浏览器)浏览我的网站时,在页面之间切换的行为就像我实际上要进入一个外部页面。换句话说,浏览器的地址栏瞬间出现,然后页面变白,然后加载新页面,然后地址栏消失

我希望其行为与多页模板完全相同。例如,如果您浏览jQuery移动文档中的多页模板,您可以非常顺利地从一个页面切换到另一个页面。浏览器地址工具栏不会弹出,页面之间没有白色闪烁。但是,如果您浏览“持久工具栏”示例(该示例使用预取加载示例中的所有页面),您将看到与我的站点相同的行为。浏览器的地址栏将出现,页面将变为白色,下一页将呈现,然后地址栏将消失

那么,我如何使我的预取页面像多页模板一样工作,而不必重写我的站点以使用多页模板呢

以下是jQuery Mobile持久化工具栏演示和多页演示,供参考,我认为它们的工作原理应该完全相同(关于出现的URL地址栏):


除非您的初始页面使用
链接标签上的
数据预取
属性直接链接到所有其他页面,否则这些页面将不会被预取和缓存。我这样说是因为你的问题意味着你的页面存在一些不受支持的链接。您还可以通过API加载和缓存它们

$.mobile.loadPage(pageUrl,{showLoadMsg:false})

您是否能够在移动Android设备上实际检查DOM


是否存在基于内存约束从DOM刷新页面的可能性?我不知道jQM文档中关于此场景的任何细节,但在某个时候您将填充缓存。

所有链接都具有数据预取属性。而且持久化页脚演示链接都具有该属性(下面的URL)。我已经查看了DOM,所有页面都被预取到DOM中。切换页面时没有服务器命中。。。只是地址栏暂时打开了。经过更多的研究,我认为这与jQueryMobile在URL中使用哈希的方式有关。您不能在jQM中修改URL使用的哈希。jQM使用哈希来导航和维护浏览器历史记录。是的,我不想弄乱jQM的导航或历史记录。我的问题仍然存在。更好的是,我可以向您指出我在问题中提到的jQuery移动演示。预回迁的单页演示是:多页模板演示是:我已经更新了问题的结尾,以便更容易获得这些示例。