WML教程5:任务和任务屏蔽
任务和任务屏蔽
内部任务
返回
1<prev>
2
3用来将当前页面的URL压入URL历史堆栈,并打开此前的URL,若该URL不存在,则<prev>无效。语法类似<go>,<prev>和</prev>之间可加入一句或多句<setvar name="name" value="value"></setvar>,若不加,则必须以<prev></prev>的形式出现。
4
5刷新<refresh>
6
7用来刷新当前的页面,从而使得页面内的变量刷新或置空,语法与prev相同。<refresh> <setvar name="name" value="value"></setvar> </refresh>,或<refresh></refresh>。
8
9无动作<noop>
10
11表示什么也不做,该标签不能用在<anchor>中,一般用在覆盖DECK级的<do>。
12
13任务屏蔽(Task Shadowing)
14WML的Task有两个级别,Deck级和Card级。通常人们还习惯把设置在某些条件中的任务成为第三级,在这里先不讨论,后面有专门的描述。
15
16Deck Level:把通用的Task设置在template中,这个Deck中所有的Card都自动继承并使用这些task。
17
18Card Level:只在当前的Card中有效,并替换掉Deck Level的相同属性的Task。
19
20示例:
21
22<wml>
23<template>
24<do label="Back" name="general" type="options">
25<prev></prev>
26</do>
27</template>
28<!-- a deck level task-->
29<card id="Card1">
30<p>Hello , this is a test
31
32<a href="#card2">the second</a>
33<p>
34</p></p></card>
35<card id="Card2">
36<!-- This Card override the deck level task by noop -->
37<do label="none" name="general" type="options">
38<noop></noop>
39</do>
40<p>nothing happend here</p>
41</card>
42</wml></do></anchor></noop></refresh></go></prev></prev>