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

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

亚马逊正式在华推Android应用商店 收入3:7分账 不要男孩,只允许女生参加的四所编程学校 下一波App机会在哪里? JS1K 2013优胜作品公布 3D蜜蜂仅获亚军 专访:前新浪网架构师徐佳转行卖水果背后的故事 FBI密码挑战,你能解开吗? 从0到1只需一天:Twitter后PC时代物联网“敏捷”开发之路的探索 机械生物已经面世 只少个“大脑”而已 百度正式宣布3.7亿美元收购PPS视频业务 比尔&#183;盖茨:iPad让人失望 用户需要Surface Dropbox将于今年夏天举办有史以来的第一场开发者大会 Clustrix Sierra分布式数据库系统:云计算时代的MySQL 英特尔出杀手锏 发布低功耗、高性能Silvermont微架构 10大最实用的Raspberry Pi扩展设备推荐 主流浏览器性能测试,IE10百分百完胜! TortoiseSVN的基本操作 再见,Fireworks! 投资者告诉诺基亚CEO:他们快没耐心了 直接拿来用!最火的Android开源项目(二) 营收奇迹:三消游戏Candy Crush Saga成功启示录 马化腾对话李连杰:移动互联网的能量有多大? UC与趋势科技携手,移动浏览器加固安全 乐视发布超级电视X60 售价6999元 巨头们抢滩或已结束?EMC掀起首场SDN登录战 CloudStack创始人梁胜:让中国软件走向世界 ArduinoDroid:让你在Android设备上开发Arduino 码农们的机器人:LEGO MindStorms EV3 详解 JavaScript 中的 this 对话PaaS平台dotCloud布道师:“轻量级”与“重量级”虚拟化 微软:谷歌企业生产力软件依然不行 IT旅途——程序员面试经验分享 关于在RedHat2.1As上安装Oracle9i(9.0.1)的错误问题,帮帮我吧,火烧眉毛了! 急等答案 ,请问数据库中 的Null和零值有什么区别,请给详细解释一下 用FLASHGET无法下载. 趁着各位斑竹到任,赶紧把几个悬而未决的问题提出来,呵呵! com+的调用方式 哪位大侠知道今年计算机等级考试二级C语言还是用Turbo C2。0吗?还是在Dos环境下吗?(100相赠) 关于多媒体定时器的问题,各位进来看看 session出的问题,高手请进来!! 请问,大连雅奇培训如何?请指点。。。。。。 怎样用header()做下载文件? 关于检测组合键的程序怎样写? 菜鸟问题!!!页面显示后台数据 请问软件包LEDA -- library of the data types and algorithms 哪里有下载的? 如何获得当前页面中的所有Textbox控件集合? 如何对两个表操作???谢谢! java的程序在写Dreamweaver 4里写完不可以直接用,是不是 打印的问题 DELPHI5的资源编辑器用起来很不爽,有没有好点的? 帮帮忙~~~~ 请问软件包LEDA 哪里有下载的?谢谢 ado连接远程数据库是以文件共享方式,还是c/s方式啊? 有没有工作的JAVA程序员吗? 简单的语法问题 vb还是不太会用 求教 最菜的问题 如何保存无法保存的网页? 只要每人献出一点爱,人人都能成为程序员 呵呵,又有问题了 苦恼,大家帮忙啊 关于声音处理的一个问题 求英文资料,急!!! 帮忙解释一下程序,谢谢:) 怎样实现这样的存储过程?高手快来! 用过websnap的进来看一下,巨简单! 调试版本与发布版本的区别? 急等答案, sql的基本表是用一个存储文件表示还是用若干个存储文件表示 我的Windows 2000有时无法关机(重起) ********通过编号找名称!*******求最快的方法!!! 格式化硬盘后安装WIN98过程中为什么出现蓝屏,继续安装下去连软件都安装不了? 请教一个让人郁闷的问题! 寻找一本人民邮电出版社出版的有关 GSM 网络优化的书 请问高手:能不能动态creatLayer? select * ????? 问候大家 晚上好 ,有个问题请教,立即给50分! 怎样使模式对话框最大化显示? 关于socket 十万火急,大哥大姐快救小弟一命!!!考高程的或考过的请帮忙,感激!!! 求救 跟帖 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 一个数据库连接问题??? 挂了双硬盘后,我的光驱不见了,请问怎么办?急!!!!!!!!!!!!!!!! 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 【急』十字绣,怎么把六股线拆成4股十字绣一根粗线里有六股,但需要用四股线,怎么分呢?分开了,如果很散,怎样拧成一大股? 质量为m的物块,系在弹簧的一端,弹簧的另一端固定在转轴上,弹簧的自由长度为L.劲度系数为K,使物块在光滑水平支持面上以角速度w作匀速圆周运动,则此时弹簧的长度为多少? 稀土怎么样才能开采? 已知集合A={x|-2 The hot tiles on the floor will melt your 稀土怎么开采 集合A={y|y=-x^2+4,x∈N.y∈N}的真子集的个数为( ).A.9 B.8 C.7 D.6 一个蚂蚁从5楼掉下1楼来为什么没有摔死?这是我很长时间搞不懂的问题啊.求救`` 稀土怎样开采 若集合A={x|x=2k-1,k∈z},B={x=4L±1,L∈Z}则 A,A=B B,A是B的真子集 C,B是A的真子集 D,A∪B=Z The ice started ( ) (melt) 稀土在开采过程中产生的负面影响是什么 某列车均速前进,从它驶上300米的桥到通过为止,一共用了三分之一分钟,又知一盏固定的灯一直照列车10秒,求这列车的长.(要写过程) 蚂蚁为什么从高楼上跳下来不会摔死? 打对号题 在空气中弹簧测力计测得物重2.7牛,将其一半浸入水中,示数变为2.2牛(g取10牛每千克)求物体所受浮力大小物体的密度 两股线绣的十字绣,半针应该用几股线… 打对号那题 有一石块,在空气中称的重为19.6牛,全部浸没在水中称得重为14.7牛.问:(1)石块的体积多大 (2)石块的密度是多少? 十字绣中格的半针绣用几股线? 打对号的题,在线等 有一金属块,在空气称得它的重是72牛,当它全部浸没水中时,弹簧秤的示数为52牛(g=10牛/千克)(1)金属块所受的浮力(2)排开水的体积 "Melt down" What's Meaning? 打对号那道题4 某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时10秒钟,.某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时 十字绣怎么勾边?一般用几股线? 三个打对号的题, melt temperature是什么意思 1、如下图所示,质量为m的重锤从高h处自由下落,打在质量为M的木桩上,重锤与木桩一起下沉距离s.求木桩在下沉过程中遇到的平均阻力.(M+m)g+m^2gh/(M+m)s为啥? 在绣十字绣过程中, 地球离各个星球的距离? 英语翻译 有一种球从1.8米的高度自由落下后,第一次反弹的高度是1.5米,第二次反弹高度为0.9米,据此推理第三次弹起高度为()米 甲乙2石头,大小不同,石质相同.甲石质量1.5千克,体积4立方分米,乙石质量18千克,体积多少? 像蚂蚁一样不会摔死的动物急………………………………!摔不坏的东西也可以 比赛用的篮球,从1.8米的高度自由落下后,第一次反弹高度应( )1.2米,( )1.4米. 甲、乙两块石头,大小相同,石质相同.甲石头质量是1.5千克,体积是4立方分米.乙石头质量是18千克,体积是多少? 下载是什么意思 对的打对号,错的打错号并说明原因 甲乙两块石头,大小不同,石质相同,甲石头的质量是1.6千克,体积是4立方分米.乙石头的体积是40立方分米质量是多少? 蝎子毒还是蜈蚣毒? 判断的第四第五题打对号还是错号 我国公民全部政治生活的基础和准则(基本内容)是 down的意思 判断正误 对的打对号 错的打错号 我国公民暴雨政治生活的基本原则是什么 Bend down是什么意思快 请问:什么是二维码,具体怎么使用. 我养宠物的英文怎么说 顺便问一下,活S菌加活R菌, 怎么使用二维码?二维码是干什么用的? 日本地震到底死了多少人呢?拜托了各位 谢谢 关于用红细胞计数法测定活细菌数量的题目有人采用下列方法进行酵母菌的计数:将500个红细胞与5毫升该培养液混匀,然后制片观察,进行随机统计结果如下: 视野1 视野2 视野3 视野 什么是二维码?二维码有哪些新奇应用 为什么有的哺乳动物会下蛋?不许抄袭答案 十字绣用丝线绣好看还是用绵线绣好看以前只绣过一个钱包,听说丝线绣比较慢,这点倒没什么.丝线绣有哪些好处与坏处,请各位妹妹赐教 一个篮球从高出自由落下,每次接触地面后弹起的高度2/5.如果这个篮球从25米的高处落下.问:那么第三次弹起的高度是多少? 十字绣4股线应该折几折? 为什么蚂蚁从高出掉下不会摔死? 球球从高处自由落下球从高处自由落下,触地面又弹起,每次弹起的高度都是下落高度的2/5,如果球从35米处落下,那第三次弹起的高度是多少 伊朗220亿美元油款因美国制裁“被困斯诺登在俄罗斯找到工作 负责网站维护韩国6岁萝莉美照 【组图】劳动人口不足 推迟退休成亚洲国家\"奥巴马座驾“野兽”细节曝光:配有自动英国汇丰银行报告显示中国成最受欢迎移盘点全球最妩媚的变性人(组图)国资委部署国企改革:方案争取三中全会伊朗因美国制裁导致中国“欠了”其22报告称美财政不确定性冲击90万就业岗北京数十村民阻拦农田被承包种树时遭打猪贩两次上访被强制治疗 起诉政府被驳房利美起诉多家银行操纵LIBOR新加坡总理访问波兰美寻求硅谷帮助修复医改网站莫桑比克爆发大规模游行抗议治安恶化58同城登陆纽交所 首日股价大涨乡政府抱走超生女婴18年 家人称连罚乡政府抱走超生女婴18年 家人称被逼外交文件显示日本已具备制造核武器能力盘点基层干部“怕”事心态:图太平念“快去最美公交站台拍情侣照吧窈口23家农家乐 春节不停业今年的烟花爆竹垃圾会少一点吗?一名让老师头疼亲人无奈的孩子 长腿叔正在装修的房子也要管管牢E罩杯!大伯,我卖的真是老母鸡啊!学军中学举办全国信息学奥赛冬令营审计署是怎样查出那些大案的?什么样的人能成为小组成员? 什么样的新环保法实施一个月 浙江打造执法最严吴敦义随扈之子酒驾撞死人 多名警界高谢长廷:2016年民进党“立委”过半青春不单有轰轰烈烈的初恋 聚焦问题少补充足量蛋白质很重要 建议孩子隔天吃北京市长:雾霾伤害健康 为何不能考虑82岁教授售卖南海养殖“爱国鱼”独家评论:最短命球队花3500万给足人生不是只有第一起跑线广厦外籍助教已提前回国 李春江用东北羊年到,旅游商家打起“羊”主意
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘