科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道WAP网站(wml)开发技术

WAP网站(wml)开发技术

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

下面是一个常见的ASP代码用来输出WML页面开头的MIME类型:一个典型的例子就是当服务器的内容不断在更新的时候,通过在HTTP头中加入一定的cache信息,来告诉WAP设备该页面将不存储在缓存中。

作者:talons 来源:www.lupaworld.com 2007年8月27日

关键字: WML WAP

  • 评论
  • 分享微博
  • 分享邮件

如果在ASP脚本中有一个错误,那么诊断程序会发还一个HTML页面,请检查脚本。

17. 在使用ASP生成WML页面的时候出现了错误: ,会是什么问题?

这个问题是Web浏览器不知道WML的正确类型,修改ASP的第一行,加入:

 

后就可以工作了。

18. 下面的代码有什么问题吗?

<%Response.C%>

去掉之前的空格。XML解释器希望在这行中没有其他字符,甚至是空行。

19. ASP代码可以在模拟器上工作,在真正的浏览器上怎么不行?

在很多模拟器上没有像真正的WML浏览器那么严格。这些对于那些没有使用网关的模拟器(Nokia SDK/Toolkit)来说更是这样,有些就根本没有使用网关(WinWAP、WapMAN)。

一个真正的WML浏览器应该只读取二进制的数据(从WML编码得来的)WMLC,对于网关应该将文本WML转换/编译成WMLC。语法是非常严格的。ASP是为HTML浏览器设置的,但是HTML没有WML那么严格。

这里在ASP生成动态页面的时候有一个微小的“bug”。它在WML浏览器上不允许有任何地方输出白行(例如:空格,回车,换行)。注意到有些网关可能会修正这些问题,但有的则不管(例如:CMG网关)。

下面是一个常见的ASP代码用来输出WML页面开头的MIME类型:

<%Response.C%>

问题就在ASP将会在 .wml"%> 和 。就上面的WML页面回车/换行将会出现问题。

最简单的解决办法是:

<%Response.C%>

在XML定义正确的格式化以后,后面的部分WML对空格就没有那么严格的要求。

要注意的是有些网关在输出ASP的时候会有问题,因此在WML代码中最好使用 Response.Write 而不是<%=MyVar%>。

20. 如何使用Perl来生成WML内容?

和其他Server端程序一样。Perl也可以用来书写漂亮的WAP应用程序。

最常见的就是如何使用Perl输出正确的MIME类型,下面的例子说明了这一点:

print "Content-type: text/vnd.wap.wml\n\n";

print "\n";

print "

\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n";

print "\n";

……

21. 应当如何下手书写WAP应用程序?

其实需要的只是Text编辑器。但是使用一个开发工具可以节约很多时间。

在这之前应该浏览一下WAP的权威站点:www.wapforum.com。

在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。在注册后,可以在下面的网址找到数据包。

http://www.motorola.com/MIMS/MSPG/cgi-bin/spn_madk.cgi. 

WAPmine 是一个独立的应用,叫做 WAPPage 是一个所见即所得的编辑工具。而且有一个XML树型控件来编辑WML标签。

如果在开发公共应用程序时,想在很多设备上测试你的程序,就像在不同的浏览器上测试HTML页面一样。注意在不同的WML浏览器上的差别,可能比在不同的HTML浏览器上的差别要大。

22. 如何编写和测试WML页面?

现在有很多SDK。AnywhereYouGo.com有WAP SDK和IDE列表,可以下载一个来用。任何文本编辑器都可以书写一个简单的WML页面,当然HTML编辑器也可以(特别是那些支持个人定义标签的),例如:Allaire Homesite (http://www.allaire.com )。可以使用SDK来做简单的测试,但是对于大的项目可能要困难些。AnywhereYouGo.com已经建立一套基于Web的工具来帮助WAP测试。

23. 哪儿可以在找到WML的测试工具?

首先确定WML代码是正确的,然后再使用WML测试工具。

有一个非常好的测试工具在Zygo Communications(http://wap.z-y-g-o.com/tools/),测试工具是用Perl写的。里面还有其他的工具可供下载。

24. 如何操作WML页面?

操作WML页面或者卡片,最简单的办法是通过现有的网关。大多数移动电话提供者将功能都放在主页上,在上面可以通过WAP设备操作。网关的链接一般叫做“Go to URL”。当选择以后,WAP设备将通过网关操作指定的普通IP或者URL。在这种情况下,网关读取从WAP设备发送给网关的WML内容,就像PC浏览器读取内容的过程一样。

有些营运商选择不让他们的用户操作其他的站点。这个就像Internet Service Provider只允许用户操作ISP自己的站点。像这样的做法是不明智的,这样会发现自己的用户去其他地方了。

如果要坚持这种方法,可以通过ISP拨号或者使用一个公共的网关来取得其他的WAP资源。

25. 有没有一个友好的方式来管理WML内容?

还没有。虽然Oracale正在开发数据库驱动的文档服务,被称为Panama,可以支持WAP分发。

26. 如何防止用户代理cache页面?

如果用户使用ASP,应该加入一行<%Response.expires=-1%> ,这个将阻止Cache。

27. 怎样防止从Cache中读取WML页面?

当WML页面下载到WAP设备后,它将保存在WAP设备内存中一段时间,直到这个时间过期。在这之后,页面将从服务器下载,而不是从WAP设备的缓存读取。这个过程被称做Cache。

但是有些时候不想让页面从缓存中读取,而是从服务器端读取。一个典型的例子就是当服务器的内容不断在更新的时候,通过在HTTP头中加入一定的cache信息,来告诉WAP设备该页面将不存储在缓存中。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章