【发布时间】:2012-01-12 15:42:38
【问题描述】:
我的 webapp 有问题: 当我在浏览器中打开“多页模板”页面时,我可以在 DOM 中看到两个页面,但只有一个处于活动状态,这是合乎逻辑的,没什么好说的。
但是当我从前一页加载“多页模板”页面时,使用 ajax 转换,我可以在 DOM 中看到前一页(也是合乎逻辑的:如果用户想返回,避免再次加载此页面)但是仅加载了我的“多页模板”页面中的一个页面(第一个)。
我以为我在 javascript 中的所有过程中都犯了一个错误:我在加载后自动删除非活动页面以避免 ID 冲突,但我为此页面编写了一个特殊案例,没有使用我的自动页面删除-功能。当我在浏览器中打开“多页模板”时,它可以完美运行(两个页面都在 DOM 中,我的“特殊情况”代码有效)
所以我去了文档页面: http://jquerymobile.com/demos/1.0/docs/pages/page-anatomy.html
我向下滚动到部分:“多页模板结构” 右键单击“查看多页模板”按钮 > 检查元素 我们可以看到代码:
<a href="../../docs/pages/multipage-template.html"
data-inline="true"
data-theme="b"
data-role="button"
rel="external"
class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow vt-p ui-btn-up-b">
<span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true"><span class="ui-btn-text">View multi-page template</span></span>
</a>
所以,rel="external" 代码意味着该页面不会使用 ajax 转换加载,并且当您单击该按钮时,多页模板可以正常工作(但没有加载通过 ajax ...) 回到按钮代码,我从 DOM 中动态删除了属性 rel="external",因此页面将以 ajax 加载。我单击按钮,多页加载良好,但无法到达“#two”页面。快速查看 DOM 后:id="two" 的页面不存在,框架未加载。
所以这可能是一种正常行为,但是有没有办法在使用 ajax 转换时加载多页模板的所有内页?
(对不起我的英语不好,我希望它仍然可以理解)
【问题讨论】:
标签: jquery templates mobile jquery-mobile multipage