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

WAP中的ASP技术(二)

程序员文章站 2022-03-09 21:34:27
<<<上一页 wml基本的语言 "p" element 作用与html一样,只是如果你想显示文字这个就是必须的。 "do" elem...
<<<上一页

wml基本的语言

"p" element

作用与html一样,只是如果你想显示文字这个就是必须的。

"do" element

实际上每个wap应用必须支持导航条。do标签最主要的type属性的值就是accept,这个意味着当你按下软键一个新的选项会被加到列
表中来。label属性指定显示的文字。另外是一些选项:

go - 导航到另外一个卡片或板块中去。他需要href 属性。

prev - 导航到上一个卡片中去

refresh - 刷新显示。

noop - 无

anchor

作用和html中的<a>一样的。在wml中anchor链接的作用和do差不多,唯一的不同就是anchor不以选项的形式显示。

<anchor>

go to card 2

<go href="#card2"/>

</anchor>

变量

wml结合变量的办法有一点不同于html和javascript。wml的变量不仅可以被wmlscript来调用,还可以通过card直接用于wml文
档。换句话说就是变量不仅可以由用户直接输入,同时也可以由setvar元素来设置。当然变量能够被脚本来操作,但这个不是必须
的!这个观点必须被更进一步的强调和阐明。例如,你可能需要一个card来获得用户的名字,下一个card就显示"hello,飞刀",我
们就可以这样"hello,$(firstname)",有点像php,是不是,这个在传统的html中是不可能办到的!

既然变量的值能够在各个card之间保存,那么它们就经常被用于保存状态信息,支持一些复杂的交互式wap服务。这种方法的一个
问题就是当整个deck不得不重新引用时,这些状态可能与用户的浏览不能保持同步。所以,一些事件和属性就被用来捕获这些事件
(onenterofrward 和 onenterbackward).刷新则根据一些变量的值被用做更新card.

用户输入

当然,为了使你的页面变得更加的强大,变量就需要储存(接收)用户的标准输入。这一切通过一些类似于html的元素来完成.

input - 很像html,用户通过手机的键盘来输入。你能够想像,这种输入就不像我们使用pc上的键盘一样实用,所以我们应当尽量
简化这种输入方式,有可能尽量使用select元素来供用户选择。name属性是这个变量的名字,缺省值和大小的属性显然也是必须
的。format为输入入口指定了一个输入面具。其它的请查看其它资料,在这我就不一一讲述了!

select/option - 用户选项的列表。同样也很像html:

<select name=movie>

<option value=1>eyes wide shut</option>

<option value=2>notting hill</option>

:

<option value=13>buena vista social club</option>

</select>

multiple=true属性告诉用户代理()多项选择是被允许的. onpick事件发生于一个选项被选择/被取消时.

postfield - 很像html中的hidden属性,它将不显示在屏幕中。它能同时将name与value传送给服务器.

fieldset - 包含一大堆的信息强迫手机在一个屏幕中显示,当然这得看手机的能力了

其它的元素

img元素也同样被支持,但是你得使用一种特殊的图片格式,名叫wbmp.因为wap手机拥有有限的内存和储存空间。这种新的格式能
够让wap设备快速的理解和生成图片。wireless bitmaps的生成,可以通过下载一个photoshop和paint shop pro的插件就可以搞
定了。最后大家要记住在你的服务器上设置正确的mime类型,下面我列出了所有与wap有关的mime:

wml text/vnd.wap.wml

wmlc application/vnd.wap.wmlc

wmlsc application/vnd.wap.wmlscriptc

wmlscript text/vnd.wap.wmlscript

ws text/vnd.wap.wmlscript

wsc application/vnd.wap.wmlscriptc

wmls text/vnd.wap.wmlscript

wbmp image/vnd.wap.wbmp

一些传统的强调元素也被支持,比如:em,i,b,small,strong等等,用法也和html一样。br也同样被支持,不过写法有点不同,毕竟
是xml嘛,要写成这样<br />

最后我们来看看time对象和ontimer事件,time对象保存着至card被调用至今的时间,如果我们定了ontimer事件,那么ontimer事
件就会被激发.

还有很多我也懒得写了,希望对你们建设wml网页没有什么影响.

wap 的开发问题

很不幸的是,事情并不是我们想像的那么简单,不同的wap手机总是有一些小的不同的地方,就像m$的javascript与ns的不同一
样。例如,nokia 7710这样第一部在挪威出售的wap手机,就不能正确的支持post方法。

另一个限制就是deck的大小的问题。有些手机(nokia 7110)就是不支持超过1.4k的wml文档,wap网关能够将你的wml文档压缩成更
小的二进制格式,但是你也不要希望奇迹出现。这时不仅是nokia 7110支持的东东不能显示,一些强调标帜也被忽略了,另外
fieldset标帜也很轻松地被它忽略了,是不是很烦!?嘿嘿,当你在仿真器上做出很cool的页面,然后再到手机上一看,嘿嘿,砸
了手机是你的第一选择.

虽然nokia toolkit 1.2仿真器上支持cookies,但是第一批wap手机就是不支持,这就意味着你将和你的asp中的session,说再
见,至少也是很长的一段时间

下一节,我们将真正做一个wml与asp相结合的网站.