WML 任务
任务 (task) 定义了事件发生时所执行的动作,比如在输入一个卡片或选择一个链接之类的时间发生时。
Go 任务
<go> 任务表示切换到一个新卡片的动作。
<go> 任务指示浏览器显示指定的 URL,包括 DECK 的第一个 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> <p> <anchor> Go To Test <go href="test.wml"/> </anchor> </p> </card> </wml>
提示:在 <go> 任务中,href 属性是必须的。
Prev 任务
<prev> 任务表示后退到前面的卡片的动作。
<prev> 任务用来将当前页面的 URL 压入 URL 历史堆栈,并打开此前的 URL,若该 URL 不存
在,则 <prev> 无效。
<?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> Previous Page <prev/> </anchor> </p> </card> </wml>
Refresh 任务
<refresh> 任务会刷新一些指定的卡片变量。如果变量显示在屏幕上,任务也会刷新屏幕。
下面的例子使用 <anchor> 标签向卡片添加了一个 "Refresh this page" 链接。当用户点击该链接时,他或她会刷新页面,同时变量 x 的值将被设置为 30:
<?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> Refresh this page <go href="thispage.wml"/> <refresh> <setvar name="x" value="30"/> </refresh> </anchor> </p> </card> </wml>
Noop 任务
<noop> 任务规定不做任何事(noop 指的是 "no operation")。此标签用于覆盖卡片组级别的元素。
<do> 标签用于在用户点击屏幕上的某个单词或短语时启动一个任务。
下面的例子使用 <do> 标签向卡片添加一个 "Back" 链接。当用户点击这个 "Back" 链接时,他或他被被带回前面的卡片。但是 <noop> 标签阻止了这个操作;当用户点击 "Back" 时,不会发生任何事情:
<?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> <do name="back" type="prev" label="Back"> <noop/> </do> </p> </card> </wml>