欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WML学习之四 锚和任务

程序员文章站 2022-06-19 12:53:02
锚和任务 连接是 html 页面里最基本的功能, 在 wml 里也一样用 
锚和任务
连接是 html 页面里最基本的功能, 在 wml 里也一样用 <a href="url" title="label"> 和 </a>来包括用来建立连接的文字,必选属性href指定了要打开的url,可选的title属性给该连接取个标记名字,这个名字将作为软按钮之一的accept键(详见以前的hdml入门文章)的标记显示在屏幕的软按钮区,所以通常可以将属性作为提示文字是用。
然而,以上的连接在wml里只是任务的一种情况,为了能够使用其它任务,所以引进了新的标签<anchor title="label">任务标签 文本</anchor>,<a>其实是当任务标签为<go/>时的简单表示方式。
test3.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>
<p>
<anchor title="link1"><go href="test1.wml"/>news</anchor><br/>
<a title="link2" href="test2.wml">sports</a>
</p>
</card>
</wml>
wml里的任务标签有以下几种,除了用于<anchor>,还可以用在事件中:
1)<go>用来指示浏览器显示指定的url,包括deck的第一个card或者指定的card。语法如下:
<go href="url" sendreferer="false|true" method="get|post" accept-charset="charset">
<postfield name="name" value="value"/>
<setvar name="name" value="value"/>
</go>
其中href属性为必选,其他为可选。sendreferer属性表示是否传递调用href所指定的url的页面的url,也就是当前页的url,即 http 头中的http_referer,默认值为false,可选值为true。method和html中的表单form的method属性一样,指定表单是以get的方式还是post的方式递交,以便cgi处理,默认的值为get,但如果未指定method但<go></go>间存在<postfield>,手机自动以post方式传递。accept-charset 属性可覆盖在http头里指定的字符集,可以写多个字符集,如accept-charset="utf-8,us-ascii, iso-8859-1"。
<postfield name="name" value="value"/>可以看作是html表单form中的<input type="hidden" name="变量名" value="值">,通过它可以向指定的url传递以“变量名/值”形式的数据。name和value属性都是必选的。注意只有这里的变量是用来递交给cgi程序的。
除了<postfield>,还可以在<go>和</go>间加入一句或者多句<setvar name="name" value="value"/>,该语句的意思是,当触发某一事件时,给变量赋值。
要注意的是,当<go>和</go>之间没有任何语句时,要用<go/>的形式,这点比较特别,比如<anchor title="link1"><go href="test.wml"/>news</anchor>。
2)<prev>用来将当前页面的url压入url历史堆栈,并打开此前的url,若该url不存在,则<prev>无效。语法类似<go>:<prev><setvar name="name" value="value"/></prev>,<prev>和</prev>之间可加入一句或多句<setvar name="name" value="value"/>,若不加,则必须变成<prev/>的形式。
3)<refresh>用来刷新当前的页面,从而使得页面内的变量刷新,语法为<refresh><setvar name="name" value="value"/></refresh>。
4)<noop>,表示什么也不做,该标签不能用在<anchor>中,一般用在覆盖deck级的<do>(以后会说明)