欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

wml基础

程序员文章站 2023-12-26 21:39:57
...

首次整理于2010-3-3

1、wml文件命名

*.wml

2、wml基本格式

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

 

eg: 一个简单wap页面所需要的元素index.wml

 

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
   <head>
      <access />
      <meta />
   </head>
    <card id="index" title="hello wap1.x">
          <p> hello wap1.x</p>
    </card>
</wml>

 

1. 文件大小最好不要超过1.2k

2. <head></head>之间可以包含一个<access />和多个<meta />

3、wml标签

3.1、<card />标签

属性 含义
id card名字,可用来在card间跳转。相当于HTML的<a name="" />
title 书签标记
newcontext 默认false.用来表示当跳转本card时,手机是否清除以前保留的信息,包括变量,堆栈历史信息,重新设置手机状态等
ordered

默认true,表明该card里的内容可以按一定的顺序显示,默认是按线性顺序显示(即按代码顺序)。

当ordered设置为true时,如果一个表单的内容不能在一屏里显示完,就分成多屏显示;

当ordered设置为false时,手机可以显示一个概要CARD来总结有效的选项 ,用户可以从中选取表单选项来填写

on***

类似于HTML标签中的onXXX属性,用来捕捉事件,当事件被触发时执行指定的操作(任务)。

eg:onenterforward="url" onenterbackward="url"  ontimer="url"

3.2、<input />标签

属性 含义
name 输入文本变量名
title 输入框名字
type 输入框类型,默认text.可选择text/password
value 输入框的值
default 输入框的默认值
format

格式化输入数据。可用“一位数字+标记”和“*+标记”的形式。前者表示N个标记型字符

标记 描述
A 任意符号或者大写字母(不包含数字)
a 任意符号或者小写字母(不包含数字)
N 任何数字(不包括符号或者字母)
X 任何符号、数字或者大写字母(不可改变为小写字母)
x 任何符号、数字或者小写字母(不可改变为小写字母)
M 任何符号、数字或者大写字母(可改变为小写字母)或者多个字符,默认为首字大写
m 任何符号、数字或者小写字母(可改变为大写字母)或者多个字符,默认为首字小写

eg: 2N:两位数字;12N:十二位数字;*N:N位长度的数字

maxlength 最大输入长度
emptyok 是否必填true/false。默认false

3.3、<p />标签

<p></p>用来显示文本

属性 含义
align  显示文本对齐方式   left|right|center
mode 是否自动换行。默认wrap    warp|nowrap
maxlength 最大输入长度

3.4、<img />标签

显示图片

属性 含义
alt 手机不支持图片时显示的文字
src 图片地址,如果有localsrc时就忽略该属性
localsrc 指定显示存在在手机ROM中的图标,如果找不到则到UP.Link Server上去找。
其他 除外还有一些height\width\vspace\hspace属性。

注:<img>要放在<p>里,不能放在<do/>和<option/>等功能键标签和选单标签里.

3.5、<anchor />标签

1. 一般的链接:<a href='url' title='title'>url..</a>

2. 锚:<anchor title='label'> 任务标签 </anchor>    <a />其实是当任务标签为<go />时的简单表示

3.6、<go />标签

<go />标签类似HTML中的<from/>标签,使用如下:

 

<go href='login.wml' method='get|post' sendreferer="false|true" accept-charset="charset">
      <postfield name='name' value='value' />
      <setvar name='name' value='value' />
</go>

  1. sendreferer属性表示是否传递调用href所指定的URL的页面的URL,也就是当前页的URL,即 HTTP 头中的HTTP_REFERER,默认值为false,可选值为true

 

2. 未指定method但<go></go>间存在<postfield>,手机自动以post方式传递

3. accept-charset 属性可覆盖在HTTP头里指定的字符集,可以写多个字符集,如accept-charset="UTF-8,US-ASCII, ISO-8859-1"

4. <postfield name="name" value="value"/>可以看作是HTML表单FORM中的<INPUT TYPE="HIDDEN" NAME="变量名" VALUE="值">,通过它可以向指定的URL传递以“变量名/值”形式的数据。name和value属性都是必选的。注意只有这里的变量是用来递交给CGI程序的

5. 除了<postfield>,还可以在<go>和</go>间加入一句或者多句<setvar name="name" value="value"/>,该语句的意思是,当触发某一事件时,给变量赋值

3.7、<prev />标签

1. <prev>用来将当前页面的URL压入URL历史堆栈,并打开此前的URL,若该URL不存在,则<prev>无效。

2. 语法类似<go>:<prev><setvar name="name" value="value"/></prev>,<prev>和</prev>之间可加入一句或多句<setvar name="name" value="value"/>,若不加,则必须变成<prev/>的形式

3.8、<refresh />标签

1. <refresh>用来刷新当前的页面,从而使得页面内的变量刷新

2. 语法为<refresh><setvar name="name" value="value"/></refresh>

3.9、<do />标签

处理键盘(包括软硬按钮)输入事件

<do>的语法如下:<do type="type" label="label" name="name" optional="false|true">任务</do>,任务就是以前提到的四种任务。<do>的属性中,type是必选的,其他为可选。

属性 含义
*label 指定了软按钮在屏幕上的显示文本。目前type属性为delete,help,prev时该属性无效
name

为<do>取个名字,同一的CARD里的<do>不能重名。

如果CARD级的<do>和DECK级的<do>同名,则覆盖DECK级的<do>。

optional 指定手机是不是可以忽略这个事件,默认值是false。
type

指定触发的事件,具体如下:

type值 触发原因
accept 调用ACCEPT按钮机制
delete 调用DELETE按钮机制
help 调用HELP按钮机制
options 调用选择按钮机制
prev 调用PREV按钮机制
reset 调用清除和重新设定手机状态时的RESET机制(目前不支持)
unknown 调用unknown机制,等于type=""(目前不支持)
vnd. co-type 调用厂商特定的机制(目前不支持)
X-*, x-* 供以后使用(不保留)(目前不支持)

 

3.10、<onenvent />标签

<onevent>的语法如下:

<onevent type="type">任务</onevent>

必选属性type的取值如下:

type值 如果用户执行了以下操作就执行任务
onpick 用户选择或不选一个<option>项时
onenterforward 用户使用<go>任务到达一个CARD时
onenterbackward 用户使用<prev>任务返回到前面的CARD时,或者按BACK按钮时
ontimer 当<timer>过期时。

3.11、其他标签

1. <br /> 换行标签:在表单中如果有多个<input>或者<select>,其间不要用<br/>,否则会使手机浏览器认为是断点而把表单分页显示

2. <b/><i/><u/><em/><strong/><big/><samll/><table/>同HTML标签

相关标签: wml wap

上一篇:

下一篇: