说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

JQuery Mobile 页面结构

HTML文档下载 WORD文档下载 PDF文档下载
Jquery Mobile中的"页面"结构已经优化为支持单个的页面,或者在一个页面内嵌入的多个“page”。使用这种模型的目的是使WEB开发人员使用最佳实践创建WEB网站,使得普通的链接不需要任何特殊配置就可以工作,而且能创造出富媒体的像本地应用一样通过标准的http无法创造出的用户体验。

 

Jquery Mobile支持包含历史回退按钮的自动ajax读取外部页面的功能,一组页面转场动画,以及将页面显示为对话框的简易工具。

 

页面结构 Anatomy of a Page

 

Jquery Mobile中的"页面"结构已经优化为支持单个的页面,或者在一个页面内嵌入的多个“page”。

使用这种模型的目的是使WEB开发人员使用最佳实践创建WEB网站,使得普通的链接不需要任何特殊配置就可以工作,而且能创造出富媒体的像本地应用一样通过标准的http无法创造出的用户体验。

移动网站页面结构Mobile page structure

 

Jquery Mobile网站必须使用HTML5文档声明开始,使得网站能够适用HTML5的特性(不支持HTML5的旧浏览器会安全地静默忽略HTML5的文档声明和一些自定义属性)。 在head标签内需要引用Jquery,Jquery Mobile和mobile的主题CSS文件,我们推荐链接到  jQuery 的CDN上 :

HTML 代码:

<!DOCTYPE html> 

<html> 

<head> 

 <title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="http://code.Jquery.com/mobile/1.0a3/Jquery.mobile-1.0a3.min.css" />

<script type="text/javascript" src="http://code.Jquery.com/Jquery-1.5.min.js"></script>

<script type="text/javascript" src="http://code.Jquery.com/mobile/1.0a3/Jquery.mobile-1.0a3.min.js"></script>

</head> 

<body>

...

</body>

</html>

 

Viewport的meta标签

 

注意在内容之前在HEAD标签内有一个viewport的meta标签设定了浏览器怎样展示页 面的缩放等级和范围。如果没有设置的话,许多移动设备的浏览器会使用一个“虚 拟的”页面宽度,大约是900PX宽,使得桌面的网站工作的也很好,但是这样屏幕看 起来是缩小的而且太宽了。通过设置viewport属性为content="width=device- width, initial-scale=1,会使宽度会被设定为设备的屏幕宽度。

<meta name="viewport" content="width=device-width, initial-scale=1"> 

这个设置没有没有禁用用户缩放页面的权限,使得可访问性非常好。但是在iOS设备 上有一个小问题,就是旋转屏幕的时候,这个viewport的设定没有设置宽度,在将 来的版本我们希望能修正。如果有需求的话,你可以设定viewport 的其他的属性来 禁用缩放。

在body内:pages

 

在<body>标签内,移动网站的每一个视图或者“page”都要通过 data-role="page" 属性的标签来定义。

<div  data-role="page"> 

  ... 

 </div> 

在page容器内,任何有效的html标签都可以使用,但是对于Jquery Mobile的典型页面来说,page容器的直接子结点应该为使用"data-role"标记属性为"header""content"和"footer"的3个容器。

<div data-role="page"> 

 <div data-role="header">...</div> 

  <div data-role="content">...</div> 

  <div data-role="footer">...</div> 

</div>

一个完整的独立页面实例: Complete single page template

 

集合在一起后,这就是一个标准的Jquery Mobile页面的样板了。

html 代码:

<!DOCTYPE html> 

<html> 

 <head> 

  <title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1"> 

<link rel="stylesheet" href="http://code.Jquery.com/mobile/1.0a3/Jquery.mobile-1.0a3.min.css" />

<script type="text/javascript" src="http://code.Jquery.com/Jquery-1.4.3.min.js"></script>

<script type="text/javascript" src="http://code.Jquery.com/mobile/1.0a3/Jquery.mobile-1.0a3.min.js"></script>

</head> 

<body>

 <div data-role="page">

  <div data-role="header">

   <h1>Page Title</h1>

   </div><!-- /header -->

   <div data-role="content"> 

   <p>Page content goes here.</p> 

  </div><!-- /content -->

 <div data-role="footer">

  <h4>Page Footer</h4>

 </div><!-- /footer -->

 </div><!-- /page -->

</body>

</html>

 

外部页面的链接 External page linking

 

Jquery Mobile会自动构建AJAX驱动的站点和应用。

默认情况下,当你点击了一个指向外部页面(比如:products.html)的链接,JQmoblie的分析链接地址,然后产生一个ajax请求(Hajax),显示一个读取中的提示框。

如果AJAX请求成功,新页面的内容会添加到DOM中,所有MOBILE组件都会自动初始化,所以新的页面会通过页面转场动画看到。

如果AJAX请求失败,JQmoblie会显示一个小错误提示框(默认的主题为E),然后过一会就消失了,不会影响你继续浏览。

多个页面的模板结构 Multi-page template structure

 

一个独立的html文件可以包含多个“pages”,在加载的时候这些data-role="page" 的div会一起堆栈加载。每一个page区块需要由一个独特的ID(id="foo")标记,通过 给内部链接地址定义为(herf="#foo"),互相跳转。当连接被点击时,JQmoblie会在 文档内寻找带有ID的page容器,然后通过页面转场显示。

这是一个包含 2个“page”的站点的示例,通过每个页面的ID进行连接。注意每个 page容器的ID属性只是用来做内部连接导航的,如果每一个PAGE都是一个独立的 HTML文件的话,那这个ID属性就可有可无了。

<body>

<!-- Start of first page -->

<div data-role="page" id="foo">

   <div data-role="header">

     <h1>Foo</h1>

   </div><!-- /header -->

   <div data-role="content"> 

     <p>I'm first in the source order so I'm shown as the page.</p> 

     <p>View internal page called <a href="#bar">bar</a></p> 

  </div><!-- /content -->

  <div data-role="footer">

    <h4>Page Footer</h4>

  </div><!-- /footer -->

  </div><!-- /page -->

<!-- Start of second page -->

  <div data-role="page" id="bar">

  <div data-role="header">

   <h1>Bar</h1>

 </div><!-- /header -->

  <div data-role="content"> 

   <p>I'm first in the source order so I'm shown as the page.</p> 

   <p><a href="#foo">Back to foo</a></p> 

 </div><!-- /content -->

 <div data-role="footer">

  <h4>Page Footer</h4>

 </div><!-- /footer -->

 </div><!-- /page -->

</body>

请注意:我们对于所有AJAX的"page"使用的是哈希值来跟踪导航历史,所以现在还不可以通过外部页面的一个ID指向那一个锚点,因为Jquery Mobile会寻找带有该ID的"page",而不是滚屏到带有该ID的内容上。

一些约定,不是要求  Conventions, not requirements

 

尽管上述的页面结构是通过jQuery Mobile构建移动网站的标准格式,但是jqm框架 是一个灵活的框架。page, header, content, and footer和data-role元素都是可 选的。 page 容器用来进行页面初始化,但是现在的版本对于单独的page 文档也不 是必须的。对于一个自定义布局的页面,所有的这些结构元素都可以没有,但是基 于AJAX的导航和组件都必须在标准的结构中才能工作。如果页面没有page 容器, jqm会自动插入一个,因为需要这样一个容器来管理页面,但是基本的标记现在可以 写的非常简单了。

注意:在多PAGE的结构中,你在页面必须要有多个page标签的容器。

 

后退链接 Back linking

 

如果你添加了data-rel="back"属性给某个链接,那对于该链接的任何点击行为,都是后退的行为,会无视链接的herf,后退到浏览器历史的上一个地址。 当想链接到一个命名好的页面,或者要关闭对话框时特别有用。使用这一特性时要注意:务必请使用一个有意义的herf值实际地指向要引用的地址(因为这样也会让GRADE-C的浏览器也支持这个按钮)。而且如果你只是要看到一个翻转的页面转场而不是真正的回到上一个历史记录的地址,你就要使用data-direction="reverse"属性,而不是后退链接。

重定向以及链接到目录 Redirects and linking to directories

 

当连接到的是一个目录地址(比如href="typesofcats/"而不是href="typesofcats/index.html"),你必须在地址后面加一个斜杠("/")。因为Jquery Mobile假定最后一个斜杠后的部分为文件名,当接下来引用到的页面生成基地址的会的时候会删除它。

但是,你可以通过已经指定好的data-url地址来返回到上一个page容器,就可以绕过这一个问题。Jquery Mobile 会使用那个data-url值来更新url,来替代过去请求的那个页面 。这样你也允许你通过返回url的更改来作为重定向的结果。例如:你想通过post方式提交表单到 /login.html",但是提交成功以后返回一个url为 "/account 。这个工具就可以让你在这种情况下控制历史记录堆栈。以下是一个实例:

有一个链接是指向  "docs-links-urltest/index.html" ,该链接是指向目录的索引页,返回的页面会使用 "docs/pages/docs-links-urltest/" 更新哈希值,这是通过代码里的 data-url 值完成的。请注意data-url值会替换整个哈希值,由你来把他替换成当刷新或者下层链接时URL发出的请求能解析正确的页面.

更多技术细节请参见导航模型Ajax, hashes and history

Google炮轰Facebook:你们的社交已经过时了! iOS设备硬件规格完整汇总 2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 地位动摇:Windows设备10月销量同比下滑21% 手机QQ浏览器4.0 Android版 极速快感 生存还是毁灭:Facebook惨败真是HTML5的错? OpenStack基金会主席:一年后成熟度超越CloudStack 在线学习新编程 技巧全攻略 “英特尔杯”HTML5程序开发邀请赛侧记 C#编译器组首席工程师Eric Lippert离职 加盟Coverity Testacular:Google开源的JavaScript测试执行过程管理工具 黑莓亚洲开发者大会报道:BB10将敲开亚洲应用市场大门 挑战Google!传Facebook与Yahoo要联手开发搜索引擎 揭秘Android 4.2 开发者的天堂与地狱 11大黄金法则:顶级移动UX设计心髓 库克时代:苹果已经不是苹果 设计师必备:极简风格的Fluid UI快速原型图工具 iPhone 5发布,后乔布斯时代苹果乏善可陈 牛人妙计:HTML5应用也能像原生一样跑得快 移动周报:OpenFeint难逃关闭命运 细数与苹果恩怨史 FlyingDaggers团队专访:不浮躁,用心做真正的原创游戏! IT巨头混战:谷歌、苹果、Facebook以及亚马逊的四国演义 乐视TV:智能电视平台——Android 开发者的新空间 TIOBE 2012年12月编程语言排行榜:Objective-C冲刺卫冕年度语言 PB数据库的连接分类解决问题? 数据窗口鼠标焦点为什么会遗失? 怎么用xp安装盘升级两千或酒吧下的wmp? 怎样得知ListBox中已经有多少项内容了? 看看大家关于微软认证的看法(只能给77,全给了) OFFICE XP以及金山词霸的漂亮菜单如何实现的??有源代码可以参考吗?? 谁能说一下"快手"的程序是怎么工作的啊 这个问题我都问了三遍了,还是没人帮忙回答一下? 这样怎么能不行了?怪了. ~散分哦~,哈~ 可怜的准初级程序员(水平的没过,竟然拿了个资历格的) 各位兄弟请了!一个远程接入问题邀请教各位~! 这个问题好象不难 如何在WIN NT4中安装、使用IIS4????? no pains,no gains. work for the beautiful girl here and for our beautiful life 各位大侠: 我是新手,有人能给我讲讲xmlspy吗?? win.ini与SYSTEM.INI的区别? Oracle 的产品真的很烂吗?参与者都有分! 现需开发一套对多个数据库(不是一个数据库中的多个表)进行操作的程序,使用BDE,请大家提建议 CPen的问题! 各位请教:我要通过电话线做多路远程接入但我不想用路由器 请问,使用ado控件的程序,考到其他机器上,除了数据库和应用程序之外,还需要拷贝什么文件? 部分技术超过OFFICE 国产软件挑战微软 关于子窗口 请教:uninstall onflow.exe和wcmdmgr.exe是什么软件? DataSet如何定位记录. lius_lzc(小刘)你好。请来这 高程成绩 不是高手不要进来!!!!!!!!!!!!! 那位大侠能说一下快手的原理啊,有源码最好???????????????? 各位有什么网站可在线看片或下载东西,网速要非常快,如果有请与大家分享,如果没有请勿进,免得大家试半天的网址,谢谢合作 实模式和保护模式的区别? 一个只问小湖的问题 ASP 中的 Response.End 在JSP中怎么写??? 有关多媒体数据库的问题 笨鱼笨鱼,好象你的故事大家都知道了,贴张相片出来给大家看看,大家说好不好啊?? 请教关于第三方控件的问题,谢谢 软件工程师们,你们开发软件的时候听什么音乐呀? 各位大侠,请帮助一下初学者 CPen的问题!!!!!!! 我在泡脚呢,给大家发分,打听一下你们泡脚的时候都干什么? 关于新的论坛数据的提问 在Delphi如何存取SQLServer DataBase表里的图像记录?(100分) 怎样循环更改窗口图标? 请问,那位能帮忙给个Email地址和url地址的正则表达式。急用,在下不胜感谢! 各位网络高手请进! 关于服务端用自己(socket)的程序,客户端用IE,怎样把客户端的数据信息传给服务端? 共享锁,排他锁有什么不同?· 请问在D3D8.0里可否加汉字?要注意什么?多谢! 请问有没有这样一种类似容器的东东,它其中的元素可以是异构类型,比如可以同时放类A,类B的对象 呵呵。前几天狂问问题狂送分,现在分快没了。 我得计算机怎么播放rm格式有问题啦!大侠们给个招吧! 瑞士军刀牌子的表是什么牌子的刚从美国回来 在那里买了个表请问这是什么牌子的 和瑞士军刀一个牌子的 表的背后也有一个瑞士军刀的图案 标志差不多是一个正方形里面一个十字 标志下 硅酸盐水泥的颜色受哪些因素的影响 铝矾土的用途是什么? 瑞士军刀的刀的材质是什么? 什么是弹性?什么是塑性?哪些东西具有弹性?哪些又具有塑性?请举例说明. 谁知道2007年现行的复合硅酸盐水泥标准是哪个? 各种继电器的表示符号(具体的)例如 HWJ表示合闸继电器,TWJ表示跳闸继电器……等等!越多越具体越好! 什么是材料的弹性和塑性 高铝砖就是氧化铝空心球砖吗?谢谢 固态继电器在图纸上用什么符号表示 某些材料虽然在受力初期表现为弹性,达到一定程度后表现出塑性特征,这类材料称塑性材料. 这句话是对某些材料虽然在受力初期表现为弹性,达到一定程度后表现出塑性特征,这类材料称塑性 氧化铝空心球砖体积尺一般是多少 1.熔断器、刀开关、热继电器、接触器、自动空气开关的作用及电气符号 硫铝酸盐水泥用途硫铝酸盐水泥在哪些地方用.什么类型的 厂要用?在 成都有 那些厂要 用硫铝酸盐水泥?具体每年能用多 T12钢的热处理将T12钢试样分别加热780℃和920℃并经足够时间保温后淬火至室温,试问两者中哪一个的Ms点高?残余奥氏体量多?马氏体片粗大?硬度低?出现显微裂纹倾向大? 两个S挂钩样子的是什么电气符号,有人说是热继电器,但是查了热继电器符号,不是啊 不好意思,我是在纸质图上看的,没有电子版图,再问下,接线图和原理图中热继电器的表示方法一样吗?我是纯 请问高铁硫铝酸盐水泥是不是普通硅酸盐水泥?区别在哪? 硅酸盐水泥是什么? 怎样增加石膏产品的硬度和韧性? Q345钢如何提高低温冲击韧性 弹性与塑性有什么区别? 下雨前水泥地很潮湿,是为什么如题.有谁知道是什么原理吗? GB175-1999硅酸盐水泥中175是什么意思 VIKING材料淬火后硬度正常,按需求硬度回火,但回火2次和回火3次的硬度不一样,回火次数多硬度反而低? 下雨前夕水泥地为什么会发潮 通用硅酸盐水泥的特点、适用范围 请问聚丙烯pp是弹性还是塑性材料? 房顶水泥板倒好后4天(4天当中有一天是出太阳,3天是阴天).第五天天气开始下雨,下雪,水泥板还应做些什么应急 硅酸盐水泥熟料的矿物中决定水泥强度的主要矿物是____________和____________. cr12淬火后不回火能用吗 GB50235-97中压力试验的章节中有一句话:脆性材料严禁使用气体进行压力试验.请问脆性材料有哪些? 硅酸盐水泥和普通硅酸盐水泥 用途区别请问2者是否存在巨大区别,在用途上有什么差异,另外二者是否可以互相替代,那种成本更高?更适合非洲使用!是这样的,外商要采购硅酸盐水泥,由于以前 复合硅酸盐水泥与普通硅酸盐水泥怎么区别 材料脆性与结构脆性的区别. 硅酸盐水泥和普通硅酸盐水泥有何区别?通用水泥有六种,分别是硅酸盐水泥、普通硅酸盐水泥、矿渣硅酸盐水泥、火山灰硅酸盐水泥、粉煤灰硅酸盐水泥、复合硅酸盐水泥.我查看了《通用硅 硅酸盐水泥好还是复合硅酸盐水泥好?还有各种水泥的用水量有没有要求及范围? 塑性材料和脆性材料在拉伸时各有什么特点 普通硅酸盐水泥与硅酸盐水泥的区别? 复合硅酸盐水泥游离氧化钙控制在什么范围内 水泥的水化热是什么?它有些什么影响? 硅酸盐水泥P.I属于耐高温水泥吗?它的耐高温程度是多少? 塑性材料有哪些 通用硅酸盐水泥的水化和硬化有什么特点 硅酸盐水泥和普通水泥有什么区别? 塑性 是什么意思 硅酸盐水泥的二次水化反应对水泥产生了什么影响?产生的影响好不好?具体怎么影响的?到底水泥中的氢氧化钙对水泥好不好? O、P、T、 H 建筑材料具有良好的塑性和韧性对钢结构的设计和使用具有什么意义 这把瑞士军刀是真的吗 32.5普通硅酸盐水泥,32.5代表什么? 为什么矿渣硅酸盐水泥抗腐蚀性能好如题最好从熟料矿物组成上分析为什么矿渣硅酸盐水泥的抗腐蚀性能比起普通硅酸盐水泥来说要好一些 3.有哪些因素影响硅酸盐水泥的水化速度 为什么 8 Cr12MoV真空淬火HRC56-58,做出来正常是铜色,最近两次回火硬度高了,要到520度回火,表面黑了有影响吗? 铝矾土和铝土矿的区别,和他们的用处. 普通硅酸盐水泥325以及矿渣硅酸盐水泥325每公斤水化热是多少 普通硅酸盐水泥有什么特性? 铝矾土具体都有哪些用途啊?要具体的,有哪些厂家采购铝矾土,厂家采购之后具体都有那些产品,希望知道的大侠给详细解答一下啊!不胜感激! Q345钢如何提高低温冲击韧性 硅酸盐水泥问题硅酸盐水泥为什么干的越慢越结实,内部有何化学反应,它的性质是什么? 铝矾土的用途
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn