WML语法大全与相关介绍
更新时间:2007年03月14日 00:00:00 作者:
使用Nokia WAP Toolkit对该程序进行测试。启动Nokia WAP Toolkit,并选择“Go”下的“Open Location”。在输入URL地址后,可以看到模拟器上出现的界面。在选择“Optionos”后出现了事件选择项。注意到“InputName”是do标签名字。在选择了“InputName”事件后,模拟器上将出现界面输出姓名
<onevent>的语法如下:
<onevent type="type">任务</onevent>
必选属性type的取值如表3-6所示:
表 3-6 type属性的取值
枚举值 如果用户执行了以下操作就执行任务
onpick 用户选择或不选一个<option>项时
onenterforward 用户使用<go>任务到达一个卡片时
onenterbackward 用户使用<prev>任务返回到前面的卡片时,或者按BACK按钮时
ontimer 当<timer>过期时
请看下面的例子程序:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
</head>
<card id="card0" ordered="false">
<p>
Please select a city...
<select title="Cities List" name="city">
<option title="Beijing" value="Beijing">
<onevent type="onpick">
<go href="#card01"/>
</onevent>Beijing</option>
<option title="Shanghai" value="Shanghai" onpick="#card01">Shanghai</option>
<option title="Hongkong" value="Hongkong" onpick="#card01">Hongkong</option>
</select>
</p>
</card>
<card id="card01">
<p>
You are Living in $(city:noesc)
</p>
</card>
</wml>
<timer/>可以用作在用户不进行任何操作的一段时间后,自动执行一个任务,任何激活卡片页面的任务和用户操作都会启动<timer/>,而任务进行时,<timer/>就停止。每个卡片只能有一个<timer/>,一个<timer/>只能触发一个任务。语法如下:
<timer name="variable" value="value"/>
其中name为可选属性,指定为一个变量名。当退出该卡片时,该变量存储此时定时器的值。当定时器超时时,手机将该变量设为0;value为必选属性,用来设置定时器的定时值,最小单位为0.1秒。
请研究下面的例子程序:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
</head>
<card id="card1" ontimer="#card2">
<timer name="time1" value="50"/>
<p align="center">
After 5s, goto card2
</p>
</card>
<card id="card2">
<onevent type="ontimer">
<go href="#card1"/>
</onevent>
<timer name="time2" value="50"/>
<p align="center">
Here is card2!
</p>
</card>
</wml>
再提一下:<onevent>、<timer>、<do>三者必须按以上顺序写。
此外在页面级还可以加入<template>,用来将事件捆绑在页面级上,语法如下:
<template onenterforward="url" onenterbackward="url" ontimer="url">
<do>或者<onevent>
</template>
请研究下面的例子程序:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
</head>
<template>
<do type="accept" label="deckPress" name="do1">
<go href="#card01"/>
</do>
</template>
<card id="card0" ordered="false">
<do type="accept" label="cardPress" name="do1">
<go href="#card02"/>
</do>
<p>
Press ACCEPT...
</p>
</card>
<card id="card01">
<p>
Here is card01
</p>
</card>
<card id="card02">
<p>
Here is card02
</p>
</card>
</wml>
最新评论