为了方便您阅读最新章节,请记住“闪文书库”网址 www.shanwen.com,注册会员收藏您喜爱的书籍
====>>>公告:晚上6点-11点高峰期,可能出现图片打开缓慢,如果太长时间没有打开,请刷新
第一卷第六章
??????
任务不能在真空中生存,它们必须绑定倒某个事件上才能做一些有用的事情。事件发生——〉任务执行,这才是完整的进程控制。
有4个元素可以帮助你完成事件对任务的绑定:。
链接
象HTML一样,WML也可以定义到其他程序的链接。在HTML中,链接通常用下划线和特殊颜色的方式表示跟其他内容的区别。在WAP终端上则没有严格的规则说如何表示一个链接,一般采用反白的显示方式。
的语法如下:
,,TEXT
title:链接的标题;
xml:lang:语言编码。
在这种定义方式中,实际上链接一般是通过元素完成的。比如下面的例子定义了2个CARD,点击第一个CARD里的“clickme”链接会跳转到第2个CARD:
Hello,
clickme
Bye,guys
点击前显示:——Hello——
Hello,
点击后显示:——
bye——
Bye,guys
链接还有一种短格式,语法如下:
,,TEXT
除了跟原来一样的两个属性以外,多了href属性,可以对它直接指定URL。例如下面的例子定义了一个带有图像的链接:
除了跟原来一样的两个属性以外,多了href属性,可以对它直接指定URL。
固有事件[TOP]
WML定义了4种由用户终端触发的固有事件:
oneventforward:当用户被任务或其他机制(如一个SCRIPT过程)引导到一个CARD时触发;
oneventbackward:当用回被或其他机制(如在设备上按BACK按钮)引导到一个CARD时触发;
ontimer:当TIMER计时结束时触发。定义TIMER计时器可以使用元素,见下一节;
onpick:当用户按下一个选项时触发(可以是选中或取消选择)。
把这些事件绑定到一个任务要使用元素,它的语法如下:
下面的例子演示了如何使用固有事件在CARD调入时清空变量。
Youhavenoname!
计时器[TOP]
看名字就知道,这是个计时器,它在经过规定的计时时间以后产生一个任务。计时器只在所属CARD里有效:当进入CARD时,计时器开始工作;时间一到,触发任务;如果离开CARD,计时器停止。语法如下:
name:可选。指定一个包含计时时间的变量,在计时器开始工作以后,变量的值会逐渐减少。如果这个变量在之前就已经存在并且赋值为一个非负整数,那后面value属性的值会被忽略,直接使用变量里的值作为计时时限。
value:必选。指定计时时间,以1/10秒为单位。
下面的例子每隔1秒显示不同的文字(当然,你有兴趣改成图像也可以)。
Hello!
RUtired?
Takearest!
显示结果如下,注意会不断循环。
第1秒:——Hello——
Hello!
第2秒:——Takecare——
RUtired?
第3秒:——Rest——
Takearest!
还有一个例子,通常用来做网站封面,显示一段欢迎词以后进入正式内容。这里没有使用图片,各位可以自己加上试试看。
Hello!
WelcometoWAP86-theparadiseofWMLdevelopers.
部件功能
accept确认,接受输入
prev退回历史页面访问堆栈里上一个CARD
help上下文关联的帮助信息
reset重设设备状态
options上下文关联的选项或附加操作
delete删除当前内容或选择
unknown由开发者自己定义
用户触发事件[TOP]
每个WAP终端都预定义了一系列用户界面部件,如手机上的按钮、触摸屏上的图表、声音指令或者其他一些很容易是别的部件。WML1.1定义了右面那些WAP兼容终端必须支持的部件。但是要说明的是,只有prev有预先定义的功能,其他的只是概念上的定义,需要根据开发者激活并赋予一定的动作。
当用户激活这些部件的时候会产生相应的事件。你可以使用的语法:
type:必选属性,内容只能是那7种;
label:用户接口部件的显示标签。如果终端不能显示则被忽略。WML1.1建议此属性长度限制在6个英文字符以内;
name:标志“事件/任务”绑定关系的唯一名称(在CARD范围内)。CARD级的事件(见下一节)。如果不指定name属性或name为空字符串,则name默认为type的类型;
optional:告诉终端此软按钮在屏幕中是否显示。如果此值设为true,则忽略本元素。默认值为false;
xml:lang任务:语言代码。
跟其他“事件/任务”绑定关系一样,中的一个。
下面例子演示了的使用方法。用户按了不同的按钮会被导向不同的CARD。
WAP86’sperfectlinks
Selectone:
Select"Links"buttontoviewthelinks.
显示结果:主画面:——WAP86Links——
WAP86’sperfectlinks
LinksHelp
按下“Links”按钮以后:——WAP86Links——
Selectone:
>[WAP86]
[AT86]
按下“Help”按钮以后:——Help——
Select"Links"buttontoviewthelinks.
Links
DECK级事件[TOP]
前面(DECK一节,关于事件就可以。这种做法可以定义一些在每个CARD里都需要定义的事件,而不需要重复说明。比如下面的例子给所有的CARD定义了BACK按钮以便返回上一页:
Selectone:
Select"Links"buttontoviewthelinks.
为了方便下次访问,请牢记闪文书库网址www.shanwen.com,您的支持是我们最大的动力。注册会员