asp代码可以在模拟器上工作,在真正的浏览器上怎么不行?
在很多模拟器上没有像真正的wml浏览器那么严格。这些对于那些没有使用网关的模拟器(nokia sdk/toolkit)来说更是这样,有些就根本没有使用网关(winwap、wapman)。
一个真正的wml浏览器应该只读取二进制的数据(从wml编码得来的)wmlc,对于网关应该将文本wml转换/编译成wmlc。语法是非常严格的。asp是为html浏览器设置的,但是html没有wml那么严格。
这里在asp生成动态页面的时候有一个微小的“bug”。它在wml浏览器上不允许有任何地方输出白行(例如:空格,回车,换行)。注意到有些网关可能会修正这些问题,但有的则不管(例如:cmg网关)。
如何使用perl来生成wml内容?
和其他server端程序一样。perl也可以用来书写漂亮的wap应用程序。
最常见的就是如何使用perl输出正确的mime类型,下面的例子说明了这一点:
print "content-type: text/vnd.wap.wmlnn";
print "n";
print "
"";
print "n";
……
应当如何下手书写wap应用程序?
其实需要的只是text编辑器。但是使用一个开发工具可以节约很多时间。
在这之前应该浏览一下wap的权威站点:。
在nokia wap 开发论坛中进行注册,并且下载nokia wap developer toolkit 。toolkit中的pdf文件可以给出一定的wml和wmlscript指导。nokia toolkit需要jre (java runtime environment) v.1.2.2 或者更高版本。
虽然工具可以用来为wap设备设计应用,但是不是为专门的移动电话。在wap开发工具上所看到的并不代表用户在手机上所看到的。为了确定想看到的事情,最好需要一个wap设备,例如移动电话,或者模拟器。
nokia wap sdk 2有一个7110的模拟器。模拟器是一个有效的检测方式,能检测程序中的bug。 nokia sdk 同样还包括一个小的wap server让开发者可以从本地或者http服务器上下载wml页面。
到 phone.com 开发站点注册后,phone.com 提供up.browser。这是最流行的浏览器,特别是在美国,phone.com 提供up.sdk。 在注册之后就可以下载。
对于ericsson r320 和 r380是最近的事情。应该注册并查看ericsson's developer's zone 来得到开发工具。r380是一个非常好的模拟器,在 symbian 不需要注册就可以下载。ericsson 没有公开的为r320的模拟器。
motorola 有一个平台叫做 mobile internet exchange 或者 mix 。mobile application development kit 已经开发出一个开发平台,即为wap也为motorola的 voxml。在注册后,可以在下面的网址找到数据包。
.
wapmine 是一个独立的应用,叫做 wappage 是一个所见即所得的编辑工具。而且有一个xml树型控件来编辑wml标签。
如果在开发公共应用程序时,想在很多设备上测试你的程序,就像在不同的浏览器上测试html页面一样。注意在不同的wml浏览器上的差别,可能比在不同的html浏览器上的差别要大。
如何编写和测试wml页面?
现在有很多sdk。anywhereyougo.com有wap sdk和ide列表,可以下载一个来用。任何文本编辑器都可以书写一个简单的wml页面,当然html编辑器也可以(特别是那些支持个人定义标签的),例如:allaire homesite ( )。可以使用sdk来做简单的测试,但是对于大的项目可能要困难些。anywhereyougo.com已经建立一套基于web的工具来帮助wap测试。
哪儿可以在找到wml的测试工具?
首先确定wml代码是正确的,然后再使用wml测试工具。
有一个非常好的测试工具在zygo communications(),测试工具是用perl写的。里面还有其他的工具可供下载。
如何操作wml页面?
操作wml页面或者卡片,最简单的办法是通过现有的网关。大多数移动电话提供者将功能都放在pg电玩城主页上,在上面可以通过wap设备操作。网关的链接一般叫做“go to url”。当选择以后,wap设备将通过网关操作指定的普通ip或者url。在这种情况下,网关读取从wap设备发送给网关的wml内容,就像pc浏览器读取内容的过程一样。
有些营运商选择不让他们的用户操作其他的站点。这个就像internet service provider只允许用户操作isp自己的站点。像这样的做法是不明智的,这样会发现自己的用户去其他地方了。
如果要坚持这种方法,可以通过isp拨号或者使用一个公共的网关来取得其他的wap资源。
有没有一个友好的方式来管理wml内容?
还没有。虽然oracale正在开发数据库驱动的文档服务,被称为panama,可以支持wap分发。
如果用户使用asp,应该加入一行 ,这个将阻止cache。
怎样防止从cache中读取wml页面?
当wml页面下载到wap设备后,它将保存在wap设备内存中一段时间,直到这个时间过期。在这之后,页面将从服务器下载,而不是从wap设备的缓存读取。这个过程被称做cache。
但是有些时候不想让页面从缓存中读取,而是从服务器端读取。一个典型的例子就是当服务器的内容不断在更新的时候,通过在http头中加入一定的cache信息,来告诉wap设备该页面将不存储在缓存中。