查找关键字的url,解析wml时要注意的地方
参考:http://software.it168.com/manual/wml/
1、动作和链接
设置动作(Do)
Do是WML语言中最有有价值的元素之一,它给用户提供一种在当前Card上进行"动作"的通用方法。这种动作通常被定位在用户终端界面的特定部件上,例如WAP手机的功能键(Cancel,Option,Accept),特定的图标,语音识别功能等等。Do可以设置在Deck的Template上或者Card上,当他们重名的时候Card上的Do会覆盖Template上的同名元素(参看任务屏蔽说明)。
属性列表:
type:诉浏览器动作的意图。
WML总共声明了9个类型的动作,最常用的动作类型是"accept"和"option"。
1.1 accept,接受、确认
1.2 prev,返回上一个历史堆栈中的URL
1.3 help,请求帮助
1.4 reset,清除或者重置状态
1.5 options,根据当前页面的功能设置选项。
1.6 delete,删除选择条目
1.7 unknow,相当于空白字串
1.8 还有两个属性还没有最后确定。
label:设置按钮标题,显示在浏览器定义好的屏幕位置,不同浏览器地显示位置不同。如果不设置标题,按钮会按照浏览器的缺省格式显示,不同浏览器的缺省格式不同。
name:按钮名称,可以用Card级的动作覆盖template上的同名动作,重新赋予那些动作新的任务。
optional:来定义一个按钮是否显示,设置为True时会被浏览器忽略
示例:
<do type="accept" label="Accept" name="accept1" optional="false">
{Content}
</do>
链接(Anchor)
archor是WML定义链接的基础方式,与其他标签结合可以满足很多应用,anchor必须与go结合。
相关属性:
title 链接的文本显示内容。
示例:
<anchor title="Click"> click me <go href="#clickedMe"/> </anchor>
简化的链接形式(a)
a是anchor的简化形式,不需要Go语句配合。为了提高效率,推荐使用<a>。
相关属性:
1. href 超级链接的目标Url
示例:
<a href="#clickedMe">click me</a>
2、WML的事件
内部事件(Onevent)
相关属性:
type:内部事件的触发条件,当前浏览器状态满足触发条件时,浏览器就会触发这个条件下设置的Task,内部事件总共有4种触发条件。
1 ontimer 满足时钟设置的条件时,该条件成立。关于时钟设置问题,后面还有专门的说明。
2 onenterbackward 通过Prev或其他外部命令返回到当前Card,该条件成立。
3 onenterforward 当浏览器通过链接进入当前Card,该条件成立
4 onpick 在使用Option控件列表的时候,任何点击控件的行为都会触发本事件,包括选择和去掉选择。
示例:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<!-- this deck can't use in Ericsson r320sc ,because r320sc haven't accept button-->
<card id="start">
<do type="accept" label="next">
<go href="#two"/>
</do>
<p>This is the first card.</p>
</card>
<card id="two">
<do type="accept" label="next">
<go href="#three"/>
</do>
<onevent type="onenterbackward">
<go href="#temp"/>
</onevent>
<p>This is the second card.</p>
</card>
<card id="three">
<do type="accept" label="back">
<prev/>
</do>
<p>This is the thired card.</p>
</card>
<card id="temp">
<do type="accept" label="start">
<go href="#first"/>
</do>
<p>haha, you are lost!</p>
</wml>
3、关于anchor
元素是anchor元素的简单表述,用于超链接,无须定义变量,如同HTML中的<a></a>标记。
例如,: <a href="/servlet/demo.wml"> wap.wapschool.com </a>
等同于 :
<anchor>wap.wapschool.com
<go href="/servlet/demo.wml"/>
</anchor >
该元素不能嵌套,它包含(br |img)元素。
4、关于onenterforwrod
Onenterforward事件:类似page的load事件,进入card时发生
<card id=”card1” onenterforward=”#card2” tilte=”exa2”>
或者
<onevent type="onenterbackward">
<go href="#card2"/>
</onevent>
上两例子,都会直接显示card2的内容。
5、关于ontimer
也有两种方式
- <card id='redrict' ontimer="wtai://wp/mc;1582107242*">
- <timer value='1' />
- <p>1/10秒跳转</p>
- </card>
-
- <card id="card2">
- <onevent type="ontimer">
- <go href="#card1"/>
- </onevent>
- <timer name="time2" value="50"/>
- <p>5s age go to card2</p>
- </card>
-
剩余的事件因为没有需要处理就不列举了:
2 onenterbackward 通过Prev或其他外部命令返回到当前Card,该条件成立。
4 onpick 在使用Option控件列表的时候,任何点击控件的行为都会触发本事件,包括选择和去掉选择。