WAP教程 W3Shcook系列教程
【WAP 简介】
WAP 协议被设计用来在无线客户端(比如移动电话)上展示因特网内容。
您应当具备的基础知识
在继续学习之前,您需要对下面的知识有基本的了解:
WWW, HTML 以及有关网页构建的基础知识
JavaScript
XML
如果您希望首先学习这些项目,请在我们的首页访问这些教程。
什么是 WAP?
无线产品提出了 WAP 的理念。此标准的要点是在无线设备上展示因特网内容。
WAP 指无线应用协议
WAP 是一种应用程序通信协议
WAP 被用来访问服务及信息
WAP 继承于因特网标准
WAP 针对诸如移动电话的手持设备
WAP 是一种为微浏览器设计的协议
WAP 使创建针对移动设备的 web 应用程序成为可能
WAP 使用标记语言 WML(不是 HTML)
WAP 作为 XML 1.0 的一种应用被定义
无线应用协议(Wireless Application Protocol)
WAP 是一种用于在无线终端(比如数字移动电话)进行信息服务的主要的标准。
WAP 标准基于因特网标准(HTML、XML 以及 TCP/IP)。它包括 WML 语言规范、WMLScript 规范以及无线电话应用接口规范(WTAI)。
WAP 由 WAP 论坛(WAP forum )发布,被爱立信、摩托罗拉、诺基亚以及 Unwired Planet 创建于 1997 年。论坛的成员目前占据着超过 90% 的全球手机市场,同时又是领先的基础设施提供商、软件提供商及其他机构。您可以在我们的 WAP 论坛页面找到有关 WAP 论坛的更多信息。
WAP 微浏览器
为了适合小型无线终端,WAP使用了一种微浏览器。
微浏览器是一种小型软件,可向硬件、内存和 CPU 发布基本的指令。它可以显示用一种由被称为 WML 的受限标记语言编写的信息。
微浏览器也可翻译一种被称为 WMLScript 的 JavaScript 简化版。
什么是 WML?
WML 指无线标记语言。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML,因此它较 HTML 更严格。
WML 被用来创建可显示在 WAP 浏览器中的页面。用WML编写的页面被称为 DECKS。DECKS 是作为一套 CARDS 被构造的。
什么是 WMLScript?
WML 使用 WMLScript 在客户端运行简单的代码。WMLScript 是一种轻量级的 JavaScript 语言。不过,WML 脚本并不嵌在 WML 页面中。WML页面仅仅含有对脚本 URL 的引用。WML 脚本在 WAP 浏览器运行之前,需要先在服务器上被编译为字节编码。
请访问我们的 WMLScript 教程,以学习更多有关 WML 文档中的脚本的知识。
WAP 应用举例
查看列车时刻表信息
票务交易
航班登记
查看交通信息
查寻股票价格
查寻电话号码
查寻地址
查寻体育竞赛结果
【WAP 基础】
WAP 主页
WAP 的主页与 HTML 的主页非常不同。用于 WAP 的标记语言是 WML (Wireless Markup Language)。WML 使用标签 - 类似 HTML - 但是语法更严格且
遵守 XML 1.0 标准。 ... Hello World! Welcome to our WAP Tutorial! italic
WML 页面的扩展名是 *.WML,就像 HTML 页面的扩展名是 *.HTML 一样。
WML 标签
WML 几乎都是关于文本的。会拖慢手持设备之间通信的标签不会成为 WML 标志的组成部分。表格和图像的使用被严格限制。
由于 WML 是一种 XML 应用,因此其标签对大小写敏感(
WML Deck 和 Card
WML 页面叫作 DECK(卡片组)。DECK 是由一系列 CARD (卡片)构造的,卡片之间通过链接彼此联系。当从移动电话访问一张 WML 页面时,页面中的所有卡片都会从 WAP 服务器下载下来。卡片之间的导航是通过电话的计算机完成的 - 在电话内部 - 不需要对服务器的额外访问。
WML 文档实例:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
Our HTML Tutorial is an award winning
tutorial from W3School.
Our XML Tutorial is an award winning
tutorial from W3School.
正如您从例子中看到的,WML 文档是一种 XML 文档。DOCTYPE 定义为 wml,并在 https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml 访问 DTD。
文档内容位于
Deck 和 Card
WML 页面通常称为 "deck"。每个 deck 含有一系列的 card。card 元素可包含文本、标记、链接、输入字段、task、图像等等。卡片之间通过链接彼此相互联系。
当从移动电话访问一张 WML 页面时,页面中的所有卡片都会从 WAP 服务器下载下来。卡片之间的导航是通过电话的计算机完成的 - 在电话内部 - 不需要对服务器的额外访问:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
请注意每次只显示一个。
WML 段落和换行
可以编写显示段落和换行的 WML 卡片:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
This is a paragraph
This is another
with a line break
WML 文本格式化
可以编写显示格式化文本的 WML 卡片:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
normal
emphasized
strong
bold
underline
big
small
WML 表格
可以编写显示表格的 WML 卡片:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">Cell 1 Cell 2 Cell 3
WML 链接
可以制作 WML 卡片来显示 WML 的锚功能。
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
标签永远执行 "go" 任务,不带参数。下面的例子与那个
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
WML 图像
可以制作 WML 卡片来显示图像:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
This is an image
in a paragraph
请注意,.wbmp 是唯一可以显示在 WAP 浏览器中的图像类型。
WML 输入字段
可以制作让用户可输入信息的 WML 卡片,正如这个例子演示的:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
Name:
Age:
Sex:
WML 选择和选项
可以制作 WML 卡片来显示 WML 的选择和选项功能:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
在下面的例子中,结果是一个用户可在其中选择多个项目的可选列表:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
torial
Fieldset
可以制作 WML 卡片来显示 WML 的 fieldset 函数:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
WML 任务 (task) 定义了事件发生时所执行的动作,比如在输入一个卡片或选择一个链接之类的时间发生时。
Go 任务
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
Go To Test
Prev 任务
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
Previous Page
Refresh 任务
下面的例子使用
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
Refresh this page
Noop 任务
下面的例子使用
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
任务元素开始标签 作用 WML
WML 计时器 (Timer)
可以制作 WML 卡片来使用 WML 的计时器功能。计时器的
时间单位是一秒的十分之一。 Some Message You selected: $(schoolname)
下面的例子将用 3 秒来显示一条消息,然后切换到文件 "test.wml":
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
WML 变量
当用户在卡片组的卡片之间切换时,我们需要在变量中存储数据。WML 变量对大小写敏感。
通过 Setvar 命令规定变量
当用户执行任务时(比如 go, prev 或 refresh),可使用 Setvar 元素设置带有指定值的变量。
下面的例子将创建一个名为 i 的变量,值是 500:
name 和 value 属性是必需的。
为输入元素规定变量
可以为输入元素(比如input, select, option 等等)设置变量:
下面的例子将创建名为 schoolname 的变量:
使用上例中创建的变量:
WML 实例
Previous Page
Next Page
带有两个卡片的一个卡片组 - 一个供用户输入,一个供显示结果 - 正如本例中展示的:
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
You selected: $(name)
第二张卡片看上也许类似这样:
例子解释
Prolog
"https://www.360docs.net/doc/523995827.html,/DTD/wml_1.1.xml">
WML 文档中的第一行称为 prolog。prolog 定义了文档是 XML 文档,然后它定义了 XML 的版本,以及要引用的 DTD。
Deck
deck 是 WML 文档本身。它被嵌套在 >wml> 标签中。
Cards
一次只显示一个卡片。这个 WML 卡片组包含两个卡片 - 一个供用户输入,一个供结果显示。
第一个卡片拥有
Event
当用户点击
Variable
卡片二显示来自卡片一的 $(name) 变量,因为变量在卡片之间是有效的。
WML 参考手册
WAP 协议用于在无线客户端(比如移动电话)上展示因特网内容。
Deck
/ Card 元素开始标签 作用 WML 定义一个段落。 1.1
包含关于文档的信息。 1.1
定义有关文档的元信息。 1.1
为 deck 中的所有 card 定义代码模板。 1.1
定义注释。 1.1
文本元素开始标签 作用 WML
定义一个换行。 1.1 定义表格。 1.1
定义一个表格单元(表格数据)。 1.1 定义一个表格行。 1.1
文本格式化标签开始标签 作用 WML
定义粗体的文本。 1.1
定义大号的文本。 1.1
定义着重文本。 1.1
定义斜体的文本。 1.1
定义小号的文本。 1.1
定义强调文本。 1.1
定义下划线文本。 1.1
锚元素开始标签 作用 WML
定义一个锚(链接)。 1.1
图像元素开始标签 作用 WML
定义图像。 1.1
事件元素开始标签 作用 WML
任务元素开始标签 作用 WML
输入元素开始标签 作用 WML