Posts Tagged ‘wml’

将wml转换成html的方法。

星期日, 9月 7th, 2008

Opera是直接支持wml的,但是有不少bug。

Firefox需要插件wmlbrowser来进行转换。

IE没法直接支持wml显示,但是有个在线转换的工具,通过中间代理的方式来获取内容,再通过js进行转换,效果一般。

今天在查看httpunit相关资料的时候,发现可以通过wmlbrowser的源代码,将wml转换成html,再借助httpunit的html支持,

来实现对wml的支持,因此实现针对wap网站的测试。

简单体验了一下,

首先下载,http://ftp.osuosl.org/pub/mozdev/wmlbrowser/wmlbrowser-0.7.18.xpi

解压找到 wmlbrowser.jar,在从wmlbrowser.jar\content\wmlbrowser中提取wml.css,wml.js,wml.xsl三个文件。

写一个测试的wml,取名为test.xml

再第一行后面加上:
< ?xml-stylesheet href=’wml.xsl’ type=’text/xsl’ ? >

编辑 wml.xsl,将
<script type=”text/javascript” src=”chrome://wmlbrowser/content/wml.js”>// hack</script>
<link href=”chrome://wmlbrowser/content/wml.css” rel=”stylesheet” type=”text/css” />

改成
<script type=”text/javascript” src=”wml.js”>// hack</script>
<link href=”wml.css” rel=”stylesheet” type=”text/css” />

然后保存。

用ie打开test.xml,可以看到wml被正常转换成html了。

由于wml.xslwml,js,wml.css是各浏览器通用的,因此照此思路,可以基于ie做一个同样的wmlbrowser插件。

相关参考:

http://www.nabble.com/WML-support-for-httpunit-td9558351.html

Tags: FireFox, html, Opera, wml, xsl

Related posts

关于wml的文本框缓存问题

星期一, 6月 23rd, 2008

普通情况下:
<%
String msg = request.getParameter(”msg”);
String emo= request.getParameter(”emo”);
msg=msg+emo;
%>
文本框写成: <input name=”msg” value=”<%=msg%>” type=”text” emptyok=”true”/><br/>

表单定义成

<go href=”/test.jsp” method=”post”>
<postfield name=”msg” value=”$msg”/>

<postfield name=”emo” value=”test”/>
</go>添加表情</anchor>

表单是提交给当前页面的。

测试步骤如下:

在消息框输入内容“汉字”,提交表单。

预期结果为:文本框显示为“汉字test”,但是实际情况却是依然只显示“汉字”.

经过多次测试验证,发现这是手机浏览器或Opera等的表单缓存问题。

解决办法为:

将文本框的name定义成随机的。表单中关联到随机的文本框变量名,

修改后的代码如下:

<%
String msgName=”m”+rd.nextInt(65536*6);//随机数产生input名字
String msg = request.getParameter(”msg”);
String emo= request.getParameter(”emo”);
msg=msg+emo;
%>
文本框写成: <input name=”<%=msgName %>” value=”<%=msg%>” type=”text” emptyok=”true”/><br/>

表单定义成

<go href=”/test.jsp” method=”post”>
<postfield name=”msg” value=”$<%=msgName %>”/>

<postfield name=”emo” value=”test”/>
</go>添加表情</anchor>

经过测试,不提交当前页面的,也有类似问题,三星X708破手机就是这样的。

Tags: wml

Related posts