1

我正在开发一个从两个不同域加载的 JQuery Mobile 应用程序。(部分页面来自 example1.com,其他页面来自 example2.com,但所有页面均由 JQuery 设计)

据我所知,如果我有从 example1.com 到 example2.com 的链接,它将完全重新加载页面。

有没有办法像内部链接一样对该页面进行动态ajax加载?

4

2 回答 2

2

根据jQuery Mobile 文档,如果页面在另一个域上,它将加载页面并刷新整个页面。

我自己没有测试过,但您应该能够首先使用该$.mobile.loadPage方法加载页面,然后链接或更改到该页面,该页面现在将成为同一个 DOM 的一部分。

于 2012-07-18T13:46:22.583 回答
1

见下文:

外部页面链接

jQuery Mobile 使构建基于 Ajax 的站点和应用程序的过程自动化。

默认情况下,当您单击指向外部页面(例如 products.html)的链接时,框架将解析链接的 href 以制定 Ajax 请求(Hijax)并显示加载微调器。

如果 Ajax 请求成功,则将新页面内容添加到 DOM,自动初始化所​​有移动小部件,然后通过页面转换将新页面动画化到视图中。

如果 Ajax 请求失败,框架将显示一个小的错误消息覆盖(样式为“e”样本),该消息会在短暂的时间后消失,因此不会中断导航流程。查看错误消息的示例。

本地、内部链接的“页面”

单个 HTML 文档可以包含多个“页面”,这些“页面”通过堆叠具有“页面”数据角色的多个 div 一起加载。每个“页面”块都需要一个唯一的 ID (id="foo"),用于在“页面”(href="#foo") 之间进行内部链接。单击链接时,框架将查找带有 ID 的内部“页面”并将其转换为视图。

请务必注意,如果您从通过 Ajax 加载的移动页面链接到包含多个内部页面的页面,则需要在链接中添加 rel="external" 或 data-ajax="false"。这告诉框架重新加载整个页面以清除 URL 中的 Ajax 哈希。这一点很关键,因为 Ajax 页面使用哈希 (#) 来跟踪 Ajax 历史,而多个内部页面使用哈希来指示内部页面,因此这两种模式之间的哈希会发生冲突。

例如,指向包含多个内部页面的页面的链接如下所示:

多页链接 这是一个使用两个 jQuery Mobile div 构建的 2“页面”站点的示例,通过链接到放置在每个页面包装器上的 ID 进行导航。请注意,页面包装器上的 ID 仅用于支持内部页面链接,如果每个页面都是单独的 HTML 文档,则它们是可选的。这是两个页面在 body 元素中的样子。

于 2012-07-18T20:50:15.173 回答