《jQuery Mobile快速入门》—— 2.2 多页面模板

2.2 多页面模板

jQuery Mobile快速入门
jQuery Mobile支持在一个HTML文档中嵌入多个页面的能力,如程序清单2-3所示。该策略可以用来预先获取最前面的多个页面,当载入子页面时,其响应时间会缩短。在下面的例子中可以看到,多页面文档与我们前面看到的单页面文档相同,第二个页面附加在第一个页面后面的情况除外。多页面的具体细节在程序清单2-3中有突出显示,并会在下面进行讲解。

1.多页面文档中的每一个页面必须包含一个唯一的id。每个页面可以有一个page或dialog的data-role。最初显示多页面时,只有第一个页面得到了增强并显示出来。例如,当请求multi-page.html文档时,其id为“home”的页面将会显示出来,原因是它是多页面文档中的第一个页面。如果想要请求id为“contact”的页面,则可以通过在多页面文档名的后面添加#号,以内部页面的id名方式来显示,此时就是multi-page.html#contact。当载入一个多页面文档时,只有初始页面会被增强并显示。后续页面只有当被请求并被缓存到DOM内时,才会被增强。对于要求有快速响应时间的页面来说,该行为是很理想的。为了设置每一个内部页面的标题,可以添加data-title属性。

2.当链接到一个内部页面时,必须通过页面的id来引用。例如,contact页面的href链接必须被设置为href=“#contact”。

3.如果你想查看特定页面中的脚本,则它们必须被放置在页面容器内。该规则同样也适用于通过Ajax载入的页面(我们将在下一节详细介绍)。例如,在multi-page.html#contact的内部声明的任何JavaScript无法被multi-page.html#home来访问。只有活跃页面的脚本可以被访问。但是,在父文档的head标签内声明的所有的脚本,包括jQuery、jQuery Mobile和你自己的自定义脚本,都可以被内部页面和通过Ajax载入的页面来访问。

2.2.1 设置内部页面的页面标题

需要重点注意的是,内部页面的标题(title)可以按照如下优先顺序进行设置。

1.如果data-title值存在,则它会用作有内部页面的标题。例如,“multi-page.ht ml#home”页面的标题将被设置为“Home”。

2.如果不存在data-title值,则页眉(header)将会用作内部页面的标题。例如,如果“multi-page.html#home”页面的data-title属性不存在,则标题将被设置为页面header标记的值“Welcome Home”。

3.最后,如果内部页面既不存在data-title,也不存在页眉,则head标记中的title元素将会用作内部页面的标题。例如,如果“multi-page.html#page”页面不存在data-title属性,也不存在页眉,则该页面的标题将被设置为其父文档的title标记的值“Multi Page Example”。

重要:

当链接到一个包含多个页面的页面时,必须为其链接添加rel=“external”。

这将会执行一个全页面的刷新。由于jQuery Mobile无法将一个多页面文档载入到活动页面的DOM中,因此会用到这个刷新。jQuery Mobile之所以无法将多页面文档载入到DOM中,是因为它使用了URL(#),由此产生了命名空间冲突。

jQuery Mobile使用#来识别多页面文档中的内部页面。

此外,由于jQuery Mobile使用了#来识别DOM内的唯一页面,因此无法使用锚标签书签特性(index.html#my-bookmark)。jQuery Mobile会将my-bookmark当作一个页面识别符,而不是当作书签。Ajax驱动的导航将在下面的小节进行详细讲解。

2.2.2 单页面文档与多页面文档的对比

你需要确定页面访问的发展趋势,以方便从带宽和响应时间的角度来选择最合适的广式。多页面文档在最初载入时,会占用较多的带宽,但是只需要向服务器发送一个请求即可,因此它们的子页面会以相当短的响应时间载入。而单页面文档尽管占用的带宽较少,但是每访问一个页面,就需要向服务器发送一个请求,因此响应时间会比较长。

如果你通常会按顺序访问多个页面,则最为理想的方式是将它们放置在同一个文档内的最前面,以方便载入。这样尽管最初占用的带宽会略高,但是在访问下一个页面时,可以实现即时响应。如果用户同时访问两个页面(尽管概率很低,但毕竟存在),则可以将文件单独存放,从而在初次载入时能够消耗较少的带宽。

现在有一些可用的工具,可以辅助收集页面访问趋势或者其他度量,从而帮助优化页面访问方式。例如,Google Analytics1或Omniture2都是常见的用于分析移动Web应用程序的解决方案。

提示:

在大多数情况下,建议使用单页面模型,然后在后台将常用的页面动态添加到DOM中。通过为我们希望动态载入的任何链接添加data-prefetch属性,即可实现该行为。

这种混合方式可以让我们有选择性地选择想要载入和缓存的链接。再次强调,只建议将该方法用于需要频繁访问的页面,原因是该行为会引发一个额外的HTTP请求,以动态载入页面。

时间: 2024-10-05 03:55:06

《jQuery Mobile快速入门》—— 2.2 多页面模板的相关文章

《jQuery Mobile快速入门》—— 2.1 jQuery Mobile页面模板

2.1 jQuery Mobile页面模板 jQuery Mobile快速入门一个jQuery Mobile页面模板如程序清单2-1所示.在往下讲解之前,我们先来运行一下这个模板.复制HTML模板(ch2/template.html),然后粘贴到你的台式机中,并通过你最喜欢的浏览器中打开它.现在,你运行的就是一个jQuery Mobile app,而且无论使用的是什么浏览器,它看起来应该与图2-1所示相同.该模板符合HTML5语法标准,并且包含了jQuery Mobile的特定属性和asset文

《jQuery Mobile快速入门》—— 2.7 总结

2.7 总结 jQuery Mobile快速入门 在本章中,我们讲解了jQuery Mobile的基本知识,以及如何迅速上手并运行一个jQuery Mobile应用程序.我们还讲解了jQuery Mobile的两种页面模板,并从性能和导航流方面讨论了每一种模板的各自优势.我们还看到了jQuery Mobile如何将语义标记增强为一个优化过的移动体验.此外,我们讨论了所有可用的页面转换,以及每种页面转换常见的使用模式.最后,我们讨论了设计对话框的多种方式,从而可以为通知用户或从用户那里收集回馈信息

《jQuery Mobile快速入门》—— 导读

前言 jQuery Mobile快速入门 当前,企业和个人用于开发和发布移动应用程序所使用的技术正在发生变化,而我们则是见证者.最初,开发和发布移动程序的策略是针对每一个主流平台开发独立的本地app.然而,开发团队迅速意识到,维护多个平台所需的花费是不可忍受的,而且移动团队也会丧失其敏捷性.在将来,移动开发团队只需一次编码,就可以将app部署到所有设备上,这样的开发团队会更具竞争性,而jQuery Mobile可以帮助你实现这一目标. jQuery Mobile是一个框架,用于交付具有统一界面的

《jQuery Mobile快速入门》—— 第2章 jQuery Mobile入门

第2章 jQuery Mobile入门 jQuery Mobile快速入门在第1章,我们讲解了令jQuery Mobile独一无二的一些重要特征,现在我们开始讲解jQuery Mobile的基础知识,以便我们迅速上手.我们首先来概览jQuery Mobile页面模板.我们可以实际选择的页面模板有两个,后面将讨论每一个的优势.然后,我们会讲解jQuery Mobile是如何将我们的语义标记提升转化为一个优化的移动体验的.此外,我们还会介绍jQuery Mobile导航模型的工作方式.尽管jQuer

《jQuery Mobile快速入门》—— 第1章 jQuery Mobile简介

第1章 jQuery Mobile简介 jQuery Mobile快速入门 jQuery Mobile是一个用来构建跨平台移动Web应用程序的新UI框架,具有使用简单的特点.在短短几分钟内,你可以创建出能够在当今可用的近乎所有手机.平板电脑.台式机和电子阅读器设备上运行的优化移动应用程序(app).是的,通过一个jQuery Mobile代码库,我们几乎可以为所有的消费者创建统一标准的体验.当Web设计人员或开发人员需要一个简单的框架来开发丰富的移动Web体验时,jQuery Mobile就成为

《jQuery Mobile快速入门》—— 2.6 带有媒体查询的响应式布局

2.6 带有媒体查询的响应式布局 jQuery Mobile快速入门 要使用jQuery Mobile来创建响应式设计,建议使用CSS3 Media Queries1.例如,如果你打算为一个特定设备的朝向增强布局,你可以使用媒体查询来检测设备的朝向,然后根据需要应用你的 CSS修改. 在某些情况下,jQuery Mobile将会为你创建响应式设计.下面将讲解jQuery Mobile的响应式设计如何良好地应用于竖屏(portrait)模式和横屏(landscape)模式中的表单字段.例如,在竖屏

《jQuery Mobile快速入门》—— 1.2 跨所有移动平台的统一UI

1.2 跨所有移动平台的统一UI jQuery Mobile快速入门 通过采用HTML5和CSS3标准,jQuery Mobile提供了一个统一的用户界面(User Interface,UI).移动用户希望他们的用户体验能够在所有平台上保持一致(见图1-3.图1-4和图1-5).然而,通过比较iPhone和Android上的本地Twitter app,即可发现用户体验并不统一.jQuery Mobile应用程序解决了这种不一致性,提供给用户一个与平台无关的用户体验,而这正是用户熟悉和期待的.此外

《jQuery Mobile快速入门》—— 2.4 转换

2.4 转换 jQuery Mobile快速入门 在页面之间进行转换时,jQuery Mobile有6个可供选择的基于CSS的转换效果.默认情况下,框架会为所有的转换应用"滑动"效果.通过为任意链接.按钮或表单添加data-transition属性,我们可以设置其他的转换效果. 页面到页面的转换过程按照如下步骤发生. 1.用户轻敲按钮,以导航到下一个页面(见图2-5). 2.框架使用一个Hijax请求载入下一个页面,然后添加到当前页面的DOM中.当前页面和下一个页面实际上是并排放置的,

《jQuery Mobile快速入门》—— 1.1 通用访问

1.1 通用访问 jQuery Mobile快速入门带有浏览器的所有设备都可以访问jQuery Mobile应用程序.这对jQuery Mobile的分发模型(见图1-1)而言,是一个有利的优势.几乎所有的移动设备在出厂时都自带一个浏览器.如果你的app可以让近乎所有的移动设备来访问,这将使得它极具竞争力.下面是jQuery Mobile 1.0所支持的一个完整的设备列表,其中包括大多数手机.平板电脑.桌面浏览器,甚至是电子阅读器. 支持的设备手机/平板电脑Android 1.6+BlackBe