手机网页的制作方法八——WML任务动作

九、任务动作

在前面介绍WML语言的链接标签<anchor>时层提到过<go> <prev>和<refresh>几个任务,它们都是WML中的典型任务动作。本文就对它们进行简单介绍。任务 (task) 定义了事件发生时所执行的动作,比如在输入一个卡片或选择一个链接之类的时间发生时。分别有:Go任务 、Prev 任务、Refresh 任务、Noop 任务。它们各自的含义如下:
<go>表示切换到新卡片的动作。
<noop>规定不做任何事情。用于覆盖卡片组级别的元素。
<prev>表示后退到前面的卡片的动作。
<refresh>刷新一些指定的卡片变量。如果有变量显示在屏幕上,此任务也刷新屏幕。
使用方法:
<?xml version="1.0"?>
 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
 <wml>
 <card>
 <p>
 <anchor>
 跳转到测试页面
 <go href="test.wml"/>
 </anchor>
 </p>
 <p>
 <anchor>
 返回前页
 <prev/>
 </anchor>
 </p>
 <p>
 <anchor>
 刷新本页
 <go href="thispage.wml"/>
 <refresh>
 <setvar name="x" value="30"/>
 </refresh>
 </anchor>
 </p>
 <p>
 <do name="back" type="prev" label="Back">
 <noop/></do>
 </p>
 </card>
 </wml>
上面的例子使用 <anchor> 标签向卡片添加了一个 "刷新本页" 链接。当用户点击该链接时,它会刷新页面,同时变量 x 的值将被设置为30。上面的例子使用 <do> 标签向卡片添加一个 "Back" 链接。当用户点击这个 "Back" 链接时,他被带回前面的卡片。但是 <noop> 标签阻止了这个操作;当用户点击 "Back" 时,不会发生任何事情。

十、计时器

除了上面所讲的任务动作等,WML中还有一个特色标签timer计时器。利用它可以制作倒数计时器,时间单位是一秒的十分之一。下面的例子将用5秒来显示一条消息,然后切换到文件 "test.wml":
<?xml version="1.0"?>
 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
 <wml>
 <card ontimer="test.wml">
 <timer value="50"/>
 <p>提示文字</p>
 </card>
 </wml>
到这里,WML的基本语法已经介绍的差不多了,再往下就是WML中的变量内容,一般网页制作者用得不多,所以暂且不做介绍了,感兴趣的朋友可以自己查阅相关资料。