WAP的简介:
随着手机的越来越普及,功能越来越强大,手机上的应用越来越多,Wap网站就是一个非常普及的应用,现在很多WEB上的应用都搬到WAP上来,门户网站,购物网站等.
以下是百度到的介绍:
[WAP是一种向移动终端提供互联网内容和先进增值服务的全球统一的开放式协议标准, 是简化了的无线Internet 协议。WAP 将Internet和移动电话技术结合起来,使随时随地访问丰富的互联网络资源成为现实。WAP 服务是一种手机直接上网,通过手机WAP“浏览器”浏览wap 站点的服务,可享受新闻浏览、股票查询、邮件收发、在线游戏、聊天等多种应用服务。通过GPRS 网络接入WAP,可充分发挥接入时延短(2 秒接入)速率高、永远在线、切换方便等优点]
WAP 是一种用于在无线终端(比如数字移动电话)进行信息服务的主要的标准。
WAP 标准基于因特网标准(HTML、XML 以及 TCP/IP)。它包括 WML 语言规范、WMLScript 规范以及无线电话应用接口规范(WTAI)。
WAP协议包括以下几层:
1、 Wireless Application Environment (WAE)
2、Wireless Session Layer (WSL)
3、Wireless Transport Layer Security (WTLS)
4、Wireless Transport Layer (WTP)
WML无线标记语言
WML(Wireless Markup Language - 无线标记语言)。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML,因此它较 HTML 更严格。
WML文件结构
WML的页面通常叫做桌面(DECK),由一组互相链接的卡片(CARD)组成。当移动电话访问一个WML页面的时候,页面的所有CARD都会从WAP服务器下载到设备里。CARD之间的切换由电话内置的计算机处理,不需要再到服务器上取信息了。CARD里可以包含文本、标记、链接、输入控制、任务(TASK)、图像等等。CARD之间可以互相链接。
文档的实体包含在<wml>...</wml>标记中,文档里每个CARD又包含在<card>...</card>标记中,然后实际的文字段落则包含在.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="HELLO" title="HELLO"> Hello world! </card> </wml>
Wml标签可以到下面网址去了解:
http://www.w3school.com.cn/wap/wml_reference.asp
Deck / Card 元素
开始标签 | 作用 | WML |
---|---|---|
<access> | 定义关于 deck 的访问控件的信息。 | 1.1 |
<card> | 定义 deck 中的一个 card。 | 1.1 |
<head> | 包含关于文档的信息。 | 1.1 |
<meta> | 定义有关文档的元信息。 | 1.1 |
<template> | 为 deck 中的所有 card 定义代码模板。 | 1.1 |
<wml> | 定义 WML deck (WML 根) | 1.1 |
<!--> | 定义注释。 | 1.1 |
文本格式化标签
开始标签 | 作用 | WML |
---|---|---|
<b> | 定义粗体的文本。 | 1.1 |
<big> | 定义大号的文本。 | 1.1 |
<em> | 定义着重文本。 | 1.1 |
<i> | 定义斜体的文本。 | 1.1 |
<small> | 定义小号的文本。 | 1.1 |
<strong> | 定义强调文本。 | 1.1 |
<u> | 定义下划线文本。 | 1.1 |
图像元素
开始标签 | 作用 | WML |
---|---|---|
<img> | 定义图像。 | 1.1 |
事件元素
开始标签 | 作用 | WML |
---|---|---|
<do> | 在用户点击屏幕上的一个单词或短语时激活一个任务。 | 1.1 |
<onevent> | 包含了当某些事件发生时所执行的代码。 | 1.1 |
<postfield> | 包含了连同 <go> 标签被送往服务器的信息。 | 1.1 |
任务元素
开始标签 | 作用 | WML |
---|---|---|
<go> | 表示跳转到新卡片的动作。 | 1.1 |
<noop> | 表示不进行任何动作(noop 指的是 "no operation")。 | 1.1 |
<prev> | 表示返回前一个访问过的卡片。 | 1.1 |
<refresh> | 刷新指定的卡片变量。如果有变量显示在屏幕上,此任务也会刷新屏幕。 | 1.1 |
输入元素
开始标签 | 作用 | WML |
---|---|---|
<fieldset> | 用于对卡片中的相关元素进行分组。 | 1.1 |
<input> | 定义输入字段(用户可在其中输入文本的文本域)。 | 1.1 |
<optgroup> | 定义可选列表中的一组选项。 | 1.1 |
<option> | 定义可选列表中的选项。 | 1.1 |
<select> | 定义可选列表。 | 1.1 |
WAP开发中注意的问题
wml字符集
WML是XML的子集,继承了XML的字符集设置。WML文档缺省的字符集是UTF-8。所以存在中文问题,要显示中文,有两种办法。最简单的办法就是在文档头使用encoding,即把第一行改为:
<?xml version="1.0" encoding="gb2312"?>
然而,这种方法有些手机和模拟器并不支持,所以目前第2种方法更普遍:不改变字符集设置,但是在写中文的时候采用UNICODE代表中文字符.采用表单提交时用POST方法就不会出现中文问题.
标签语法严格
1. 在WML中,必须增加WML文档的说明
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
2. 在WML语言中,所有元素都放在符号"<" 和 ">"中,并且包含一个开始标志、一个结束标志和一个内容标志,或者使用自身结束的控制标记。
3. 标签的一些属性是必须的。<card id="maincard" title="商品信息" >在card中id和title属性是不可少的.
在标签中,不能存在空格,比如:<br />,这种在HTML中可以,但在WML中会是不规范的写法,应该写成<br/>,这种不规范的写法,会导致手机浏览器报“此页面存在错误,无法打开”。
4. 由于WML是XML的一种应用,因此所有的WML标记和属性都是大小写敏感的(<wml>跟<WML>完全不同),而且所有的标记都必须正确地结束。
5. WML要求属性的值必须放在双引号或单引号内。单引号可放在属性标志内或双引号内。字符亦可作为属性的值。
6. 在WML中,要注意标签的规范使用,段落内容必须用<p></p>包含起来,段落<p></p>外不能包括其它标签内容,不然会导致"此页面存在错误,无法打开"
<p>
..text..
..images..
..links..
</p>
比如:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Table">
<p>
<table columns="3">
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
</tr>
</table>
</p>
<p>
<br/>
</p>
</card>
</wml>
说明: WML是非常严格的,加上各个手机终端厂商的设备又标准不统一,所以导致经常出现问题,但只要写规范WML的语法.支持WML的手机都能正常访问.希望以后开发WML会来越来越方便