一些 WML 1.x 中可用的特征在 XHTML MP 中已经不存在了. 在这一部分中, 你将学到 WML 1.x 与 XHTML MP 之间的这些区别. 这一部分对于那些熟悉 WML 但对于 XHTML MP 来说是新手的人, 或者那些想把他们的移动因特网应用从 WML 1.x 迁移到 XHTML MP的人来说, 特别有用.
尽管失去了 WML 的一些特征, 在 XHTML MP 中还是有实现类似效果的方法的. 应该注意到, WAP 2.0 对 WML 1.x 是后向兼容的, 这就意味着 WAP 2.0 移动设备能够显示 WML 1.x 文档. 如果你必须要使用一个在 WML 中有效但在 XHTML MP 中无效的特征, 那么你可以考虑用 WML 1.x 开发你的 WAP 应用.
这些是 XHTML MP 所丢失的主要的 WML 语言的特征:
XHTML MP 不支持 Deck 与 Card
XHTML MP 不支持计时器
XHTML MP 不支持事件
XHTML MP 不支持变量
XHTML MP 不支持客户端脚本
XHTML MP 不支持对软键 (accesskey) 编程
XHTML MP 不支持 <u> 标签
XHTML MP 的输入字段不支持格式化属性
XHTML MP 不支持用锚链接发送数据
XHTML MP 不支持 Deck 与 Card
WML 中的 <deck> 和 <card> 元素在 XHTML MP 中已经不存在了. 在 WML 中, 一个文件可以包含一张或多张 card. 它们共同形成了一个 deck. 一个 deck 中所有的 card 都会被一次下载到无线设备上. WAP 浏览器一次显示一张 card , 你可以通过锚链接去其它卡片. 通过使用 deck 和 card, 与服务器的交互得以减少. 从而可能会有很大的性能提高, 因为对无线设备来说, 每次对服务器的请求的滞后性很高.
要在 XHTML MP 中达到类似的功能, 你可以把消息分成多个部分 (多个文档放到一个 HTTP 反馈中). 另一种方式是通过利用目标锚 (目标锚放到页面中的各个位置, 并且将链接定义为流动到相应的目标锚. 更多细节将稍后在 "到当前 XHTML MP 页面的某个地方" 中提到).
XHTML MP 不支持计时器
要在 WML 中使用计时器, 你可以用 <timer> 标签和 ontimer 事件. <timer> 标签和 ontimer 事件在 XHTML MP 中都不被支持.
要在 XHTML MP 中实现类似的功能, 尝试一下 HTTP 刷新, 像这样:
<head><meta http-equiv="refresh" content="5;URL=http://www.phparch.cn/" />...</head>
在上面的 XHTML MP 例子中, <meta> 元素告诉 WAP 浏览器10秒后转到 URL "http://www.phparch.cn". 要注意的是 WML 计时器只有在用户前进到卡片 (card) 时才会开启, 而 HTTP 刷新计时器无论用户何时到达 XHTML MP 页面都会开启.
关于 HTTP 刷新的更多细节将在稍后的 "XHTML MP 中的间歇性刷新" 中提到.
XHTML MP 不支持事件XHTML MP 不支持事件. WML 支持四种事件: ontimer, onenterbackward, onenterforward 和 onpick. 就像在上一部分讨论的那样, HTTP 刷新可以模拟 ontimer 事件. 对于其它事件类型, 在 XHTML MP 中没有替代方案. 如果你的移动因特网浏览应用必须用到它们, 那么你不得不考虑用 WML 1.x 取代 XHTML MP.
XHTML MP 不支持变量
在 WML 中, 你可以声明变量并对其赋值. WML 的变量都具有全局范围, 也就意味着你可以在任何 deck 与 card 标签中使用它们. 在 WML 中常见的对变量的使用是用其存储用户输入的数据以免其稍后还要再次输入.
在 XHTML MP 中你无法使用变量. 替代方案是把所有的处理放在服务器端进行. 例如, 如果你想把用户在某一 XHTML MP 页面上输入的数据共享到其它 XHTML MP 页面, 就要把数据发送到并存储在服务器上. 然后服务器可以在必要的时候把用户数据嵌入到 XHTML MP 标记中, 并将其发送到无线设备.
XHTML MP 不支持客户端脚本
在 WML 中, 你可以用一种叫作 WMLScript 的脚本语言, 该语言与 JavaScript 类似. WMLScript 在 WML 中的一种常见应用是验证用户输入的数据.
对于 XHTML MP, 客户端脚本目前是无效的. 替代方案是把所有的处理放在服务器端进行. 例如, 可以把用户数据发送到服务器端处理, 而不是在无线设备上验证用户数据. 如果用户数据格式有误, 超出了有效范围, 或者用户忘记输入某些字段, 服务器会引导用户去一个 XHTML MP 页面来纠正数据.
将来的移动设备将支持一种叫作 ECMAScript 移动概要 (ESMP) 的客户端脚本语言, 该语言被设计用于 XHTML MP 之中. 它支持所有 WMLScript 功能.
XHTML MP 不支持对软键 (softkey) 编程
可编程软件是 WML 的一个非常棒的特征. WML 的 <do> 标签可以用来对软键编程. 用户可以通过按移动电话上的左软键或右软键非常方便地选择常用选项.
在 XHTML MP 中你无法对软键编程. 一种替代方案是利用 accesskey 属性. accesskey 属性可用于指定键盘快捷键. 锚链接和提交按纽支持 accesskey 属性. 这是一个例子:
<a accesskey="1" href="/p1.xhtml">XHTML MP 教程第一部分</a><br/><a accesskey="2" href="/p2.xhtml">XHTML MP 教程第二部分</a><br/><a accesskey="3" href="/p3.xhtml">XHTML MP 教程第三部分</a>
如果用户按下键盘上的 "1" 键, WAP 浏览器将直接跳转到 "p1.xhtml". 有了 accesskey 属性, 用户能够通过在 XHTML MP 页面中点击一下就触发某个动作. 这种行为与通过软键所能实现的类似.
WAP CSS 的 -wap-accesskey 属性可用 accesskey 属性的一个替代选项.
在一些诺基亚的 WAP 浏览器上, 所有带有 accesskey 属性指定的键盘快捷键的锚链接和提交按纽都会自动被包含在选项菜单中. 用户可以通过点击左侧的软键来打开选项菜单. 选项菜单中锚链接的标签是被 <a></a> 标签所包围的文本. 对于图片链接和提交按纽, 菜单选项中的标签分别是 <img> 标签的 alt 属性值和 <input> 标签的 value 属性值. 例如:
<a accesskey="0" href="/p1.xhtml">XHTML MP 教程第一部分</a><br/><a accesskey="1" href="/p2.xhtml"><img src="/pic2.gif" height="20" width="20" alt="XHTML MP 教程第二部分" /></a><br/><form action="xhtml_mp_tut.php" method="get"><p>你最喜欢本 HTML MP 教程的哪一部分?<br/><input type="text" name="tut_part" title="编辑" /><br/><input accesskey="5" type="submit" value="提交表单" /></p></form>
在上述 XHTML MP 例子中, 粗体文本在 "选项" 菜单中将变成标签. 如果太长的标签将会被截断.
要注意的是该特征在非诺基亚浏览器上是无效的.
XHTML MP 不支持 <u> 标签
在 WML 中, 标签 <u> 可用来对某些文本加下划线.
标签 <u> 在 XHTML MP 中是不存在的. 要想在 XHTML MP 中对文本加下划线, 你得用 WAP CSS 的 text-decoration 属性. 例如, 要想给所有标题1的文本加下划线, 你可以在你的 XHTML MP 页面的 WAP CSS 样式单中加入输入如下的样式表述:
h1 { text-decoration: underline}
XHTML MP 的输入字段不支持格式化属性
在 WML 中, 你可以通过对 <input> 元素的格式属性指定值来限制用户可以在某输入字段中可输入的字符类型和数量.
在 XHTML MP 中, <input> 元素的格式属性已经被删除了. 替代方案是利用 WAP CSS 的 -wap-input-format 属性. -wap-input-format 属性采用了与格式化属性有着相同语法的输入遮罩. 举个例子, 要限制所有输入字段只接受五位数字, 你可以在你的 XHTML MP 页面的 WAP CSS 中输入下面这段样式表述:
input { -wap-input-format: "5N"}
你可以从网上找到关于 -wap-input-format 属性的更多资料.
XHTML MP 不支持用锚链接发送数据
在 WML 中, 向服务器提交用户数据是通过锚链接实现的, 像这样:
<p>你叫什么名字?<input name="name"/><br />你最喜欢本 HTML MP 教程的哪一部分?<input name="tut_part"/><br /><anchor><go method="get" href="/xhtml_mp_tut.php"><postfield name="name" value="$(name)" /><postfield name="tut_part" value="$(tut_part)" /></go>发送数据</anchor></p>
XHTML MP 不支持通过锚链接发送数据. 必须用提交按纽实现. 下面这段 XHTML MP 标记与前面的 WML 标记做的是同一件事. 关于向服务器提交数据的进一步细节将会在此教程的 "在 XHTML MP 中向服务器提交表单数据" 中讲述.
<form action="xhtml_mp_tut.php" method="get"><p>你叫什么名字?<br /><input name="name" /><br />你最喜欢本 HTML MP 教程的哪一部分?<br /><input name="part"/><br /><input type="submit" value="提交数据" /></p></form>
分享到:
相关推荐
3. **更高效的编码**:WAP 2.0采用UTF-8编码,支持多语言内容,比WAP 1.x的7位ASCII编码更为广泛。 4. **更好的安全性**:WAP 2.0支持SSL/TLS加密,确保数据传输的安全性,这对于移动支付和其他敏感信息交换至关...
- **TCP/IP支持**:与WAP1.x使用WTP(Wireless Transaction Protocol)不同,WAP2.0直接使用TCP/IP协议,提高了数据传输效率和稳定性。 - **TLS/SSL安全协议**:增强了网络通信的安全性,支持加密和身份验证,保护...
相较于早期的WAP 1.x,WAP 2.0引入了更为先进的技术,特别是XHTML MP(eXtensible HyperText Markup Language Mobile Profile)和WCSS(WAP Cascading Style Sheets),从而提供更丰富的用户体验和更强的表现力。...
1. **WAP2.0.ppt**:这可能是一个关于WAP2.0技术的PowerPoint演示文稿,可能包含了技术讲解、案例分析和应用实践等内容,对于学习和理解WAP2.0非常有帮助。 2. **下载说明.txt**:这份文本文件提供了下载资源的指南...
WAP2.0相比之前的WAP1.x有显著的改进。首先,WAP2.0引入了对HTML、XHTML以及CSS的支持,这意味着它能够呈现更接近桌面互联网的网页内容,提供更好的视觉体验。同时,支持XML使得数据交换更加灵活,为应用程序开发...
WAP1.x版本最初在1998年发布,并随着互联网和移动技术的发展不断进化,其中包括了WAP2.0版本。 2. WAP 2.0:WAP2.0是在2001年推出的无线通信协议版本,它与之前的WAP1.x相比,增加了对HTML内容的支持,提供了更丰富...
2. **向后兼容**:XHTML MP不仅兼容WAP 2.0,还能够处理WML和WMLScript的内容,允许WAP 1.x的网站无需大幅度改造即可在WAP 2.0平台上运行。 3. **简化HTML特性**:XHTML MP采用了比HTML更为简洁严格的结构,适合...
- **高级安全特性**:支持WPA/WPA2、802.1X、MAC地址过滤等安全机制,保护网络免受未经授权的访问。 - **QoS支持**:通过对不同类型的网络流量进行优先级设置,确保关键业务的顺畅运行。 - **射频管理**:智能的射频...
相较于早期的WAP 1.x,WAP 2.0引入了多项改进,包括对HTTP协议的支持,增强了用户体验,并且能够浏览更丰富的网页内容,如XHTML和WCSS。 **二、WML与WTAI** 1. **WML (Wireless Markup Language)**:WML是一种专为...
**一、WAP1.0与WAP2.0的区别** 1. **WAP1.0** - **协议栈**:WAP1.0基于WAP 1.x协议栈,它采用了简化的HTTP(WSP)、WML(Wireless Markup Language)和TCP/IP协议,通过压缩数据和分段传输来适应有限的无线网络...
1. **WAP 2.0 概述**:介绍WAP 2.0 的起源、目标以及相对于WAP 1.x 的主要改进点。 2. **WAP 2.0 协议栈详解**:深入理解WAP 2.0 的协议栈结构,包括各层的功能和作用。 3. **内容格式和标记语言**:讲解WAP 2.0 ...
WAP2.0(Wireless Application Protocol 2.0)则是用于在无线网络上实现互联网服务的协议栈,它提供了更高级别的安全性和性能,相比早期的WAP1.x有显著改进。本文将深入探讨MMS与WAP2.0协议在移动通信中的应用及相互...
相较于早期的WAP1.x,WAP2.0引入了许多关键改进,包括对HTML、CSS和JavaScript的支持,使得移动用户可以享受到与桌面浏览器相似的浏览体验。 **1. WAP2.0的核心技术** - **XHTML Basic**: WAP2.0主要基于XHTML ...
1. **协议栈升级**:WAP2.0基于IP协议栈,支持TCP/IP和HTTP,这使得WAP2.0能够直接与互联网无缝连接,不再需要WAP1.x中的WTP和WAP网关。 2. **XML支持**:WAP2.0引入了对XHTML Basic和WML的扩展,即XHTML MP(Mobile...
1. **向后兼容性**:XHTML MP不仅支持WAP 2.0应用,还可以与WAP 1.x的WML(Wireless Markup Language)和WMLScript进行交互,允许开发者创建既适用于WAP也适用于Web的应用。 2. **结构严谨性**:与HTML相比,XHTML的...
WAP2.0的核心在于采用更先进的标记语言和标准,使得内容能在资源有限的移动设备上呈现得更加丰富和用户体验更好。 1. 无线标记语言 - HTML(超文本标记语言):是互联网的基础,WAP的目标是将Web内容引入移动设备...
- **兼容性**:WAP 2.0 浏览器需要支持 WAP 1.x 与 WAP 2.0 之间的向后兼容,以便用户可以访问不同版本的内容。 - **渲染引擎**:浏览器应具备高效的HTML和XHTML MP解析能力,以正确显示页面布局和多媒体元素。 -...
与早期的WAP 1.x相比,WAP 2.0的主要改进在于提高了数据压缩效率,增强了安全性,并且支持多媒体内容,如图片、音频和视频。 **XHTML MP(Mobile Profile)** WAP 2.0主要采用XHTML MP作为网页编写语言,这是一种...
WML(Wireless Markup Language)是WAP 1.x时代的标记语言,但随着WAP 2.0的出现,WML逐渐被XHTML MP取代。尽管如此,WML在许多现有的WAP站点中仍然广泛使用。WML 1.x是最早的无线设备标记语言,由WAP论坛在1997年...
在移动通信领域,WAP2.0(Wireless Application Protocol 2.0)是一种重要的技术标准,它极大地扩展了早期WAP1.x的功能,提供了更丰富的用户界面和更强的数据处理能力,特别是在游戏开发方面。本策划案将深入探讨...