【发布时间】:2012-11-28 04:40:24
【问题描述】:
我有一个 html 页面,我正在使用 jquery mobile 来创建一个具有多个具有 data-role="page" 属性的 div 的 Web 应用程序。每个页面都有一个固定的页眉和页脚,通过页面转换保持一致。
但是,我想将另一个不是在 jquery-mobile 框架中构建但在同一目录中的 html 页面加载到 DOM 中,并在该页面上显示持久的、固定的页眉和页脚。
这可能吗?我查看了使用 $mobile.changePage() 和 $mobile.loadPage() 的 jquery Mobile 文档,但并不清楚如何实现它。
到目前为止,我有这个(根据@Jack 的说明进行编辑):
HTML
<div data-role="page" id="dog_bars">
<div data-role="header" data-position="fixed" data-id="dog_header" class="custom_dog_header">
<h1>Dog About Town</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-filter="true">
<li data-icon="home"><a href="#external_page" data-transition="slide" id="external_link">
<h2>303 Bar & Grill</h2>
<p>303 W. Davis St., Dallas</p>
</a></li>
</ul>
</div>
<div data-role="footer" data-id="bestFooter" data-position="fixed">
<nav data-role="navbar">
<ul>
<li><a href="#home" data-transition="slide" data-role="button" data-icon="home">Home</a></li>
<li><a href="#about" data-transition="slide" data-role="button" data-icon="gear">About</a></li>
</ul>
</nav>
</div><!-- end footer -->
</div>
<!-- page to be loaded into -->
<div data-role="page" class="content_page" id="external_page">
<div data-role="header" data-position="fixed" data-id="dog_header" class="custom_dog_header">
<h1>Casual Dining</h1>
</div><!-- end header -->
<section data-role="content" class="content" id="external">
</section>
<div data-role="footer" data-id="bestFooter" data-position="fixed">
<nav data-role="navbar">
<ul>
<li><a href="#home" data-transition="slide" data-role="button" data-icon="home">Home</a></li>
<li><a href="#dog_casual" data-transition="slide" data-role="button" data-icon="back">Back</a></li>
<li><a href="#about" data-transition="slide" data-role="button" data-icon="gear">About</a></li>
</ul>
</nav>
</div><!-- end footer -->
</div><!--end page-->
jQuery
$(document).on('pageinit'(function() {
$("#external").load("external_page.html").trigger("create");
}));
目前,单击该链接可以很好地加载带有页眉和页脚的#external_page,但不会加载external_page.html 的内容。 #external_page 的部分仍然是空的。
想法?
【问题讨论】:
-
当你尝试上面的代码时发生了什么?如果上面的代码没有发生,还需要发生什么?
-
它会加载 external_page.html,但不会加载第一页上出现的任何页眉或页脚结构。我希望它加载 external_page.html 并内置上一页的页眉和页脚。
-
我认为您需要使用 jQuery 的 load 和选择器来获取您想要的实际内容,然后将其包装在带有 data role="page" 的 div 中,然后触发 create event
-
@Jack:见上面我尝试过你的建议。仍然无法加载其他页面的内容。
-
@JohnHancock 我相信现在的问题是你的函数永远不会运行。我会尽快尝试发布一个示例。
标签: jquery-mobile