.NET WAP开发中遇到的问题汇总,主要总结一下在.NET WAP开发下浏览器的兼容及相关问题的处理。针对的是WML1.1的规范。
设置Emptyok= “true”
在WML中input 标签有一个emptyok的属性。表示用户可否不填输入框,默认为false,即要填,为true时可以不填。从理论上讲这是一个很好的属性,可以减少用户输入为空的判断。但实际运用中,首先不是所有手机浏览器支持,但最严重的问题是,一但你设置了emptyok=false,在有些手机中会将整个页面的 URL的链接点击都触发这个是否为空的判断。所以从兼容性的角度,请设置emptyok=true,在后代码进行判断。
WML实体替换
来自:http://www.w3school.com.cn/wap/wml_entities.asp
这是个很通用的问题,也就是说,要对WAP下的输出进行文本内容替换。
data = data.Replace(”&”, “&”);
data = data.Replace(”\”", “”");
data = data.Replace(”‘”, “‘”);
data = data.Replace(”<”, “<”);
data = data.Replace(”>”, “>”);
主要还是上面5个特殊字符的替换,空格是一个比较特殊的例子。下面我会具体解释.
WML下的空格
从理论上空格只要替换成 这个实体就可以了。可有些手机中确直接显示 ,当然你不是很在意可以忽略。但这里可以提供一个好的解决办法,就是将空格替换成实体编码  这样基本上有空格的地方都显示正常了。
不使用CData嵌套内容
XML中的CData其实就是为了解决长文本中含有特殊字符的问题。但如果你希望通过<–!CData[]–>,而不是采用特殊字符替换成实体。你会发现有些手机浏览器,直接将这段内容不显示。所以,在目前的情况下,还是请使用WML实体替换吧。
IE下显示WAP页面
大家都知道,在IE下如果直接访问WML1.1的WAP站点,会提示你文件下载。但如果你希望在IE下也可以正常访问WML1.1,而用户又不需要通过安装或设置,或是通过第三方网站。你可以通过URLRewrite的方式,只要IE访问的WAP1.1的站点请求的页面后缀是*.html,*.htm等的,同样可以直接访问WAP站点,而不会提示文件下载。
防止客户端手机缓存页面
手机客户端默认情况下可能会缓存经访问过的页面内容,这样有可能照常用户看到的内容不是更新的,所为一般情况,会要求客户端不缓存页面内容。在输入的内容页中添加如下<meta http-equiv=“Cache-Control” content=“no-cache”>即可。其原理和www网站类似。
WAP编码问题
不累赘,可以参考 使用.NET进行WAP开发 一文
Request参数读取
这个就要提到asp.net中参数读取问题。
request["key"]
request.form["key"]
request.query["key"]
基本上就三种,第一种会自动判断是form还是query,但在WAP开发中需要明确指定request.form还是request.query,如果使用第一种在有些手机中将无法读取到参数值。这是个很迷惑的问题,但还是请指明读取的方式。
card包含P标签
也是手机兼容的问题。主要还是标签的写法上。如果直接在节点中输入内容,有些手机将无法正确读取。所以card下面至少要包含一个标签p。<card><p></p></card>
使用相对路径,而不是绝对路径
这个问题的实质是因为使用了ASP.NET的自动支持Cookie的问题。在.NETWAP开发一文中,提到在不支持Cookie的手机中,ASP.NET会自动将当前的SeesionID隐藏在url中。这样如果你直接使用 “/search.aspx”,这样的绝对路径,将会丢失sessionid。所以在WAP的架构和设计上我们采用一层目录的概念,来简化开发中对 seesionid的处理。如果你使用.NET,并且希望更好的支持手机客户端,目前的经验使用相对路径是最好的选择。
大概总结到这,目前我们已经升级到WAP2.0了,也碰到不少兼容的问题,还正在解决中,也希望大家有好的经验来分享。感觉相比WWW,Moile 市场的浏览器更是混乱。而且WAP2.0比WAP1.1的兼容问题,更麻烦。 就连同一型号,同样内置,同样版本的手机,也有兼容问题。
分享到:
相关推荐
一、升级方法: 第一步:先将目录ABC上传至你网站根目录。 ...sid=你超级管理员登录后的sid值 ... 第三步:提成OK后,将本升级目录上传覆盖。....NET版开发中,正版免费升级! 柯林官方网站:http://kelink.com
BlackBerry开发平台配置及入门介绍(傻瓜教程) TAG:BlackBerry 开发环境 配置 教程 Cindigo整理发布,资料来自于RIM中国公司·杨江,谨此致谢! 黑莓(BlackBerry)手机简介: 所谓“黑莓”(BlackBerry)是...
人才招聘网站管理系统采用asp.NET(C#)三层结构开发;采用sql server数据库,数据容量巨大,快速,稳定是建立大型人才网站的好程序,采用全新的生成静态页技术;数据处理方面采用全存储过程实现,可快速实现大批量数据...
包括BUG所反映的所有问题 - 修正邮件系统发送UTF-8文字兼容性问题 - 更多的代码优化 <br>中国论坛网推荐" src="http://www.51one.net/softimg/20051212110443.gif" width="126" height="96">
迷你IIS服务器 提供 Microsoft IIS 5.0 兼容的 Active Server Pages 模块,不用修改代码直接将已经存在的使用 ASP 开发的应用程序移植到 迷你IIS服务器 平台上来,也可以直接使用已经存在所有 COM 组件。...
《桃源企业文件管理系统》主要部署在windows操作系统基础上,安装前需装Microsoft.NET Framework SDK2.0、3.0或3.5(2003系统自带该组件),应用软件管理目录具有IIS及asp.net完全权限。 在上述系统应用环境中,部署...
保障了网站的安全、稳定、高速,有效的解决了网站其他语言版本的兼容性问题。操作简单方便,功能强大。 【功能简介】 系统包括了日志、日志评论、流量统计、相册、相册评论、相册加密、个人资料、留言、背景音乐、...
3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构; 4. 客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统,配合使用Ajax技术; 5. 客户端运行工具:目前的系统采用...
一些浏览器兼容性问题 旧版用户升级方法: 1.上传除web.config文件、data目录之外的所有文件 2.在浏览器地址栏使用http://程序地址/update.aspx(注意为aspx后缀,非asp)方式浏览,看到升级成功字样即升级...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
您现在可以通过一些工具发表文章,比如Ecto、BlogBuddy、Bloggar、WapBlogger(从您的Wap手机上发表文章!)、RadioUserland(您可以使用Radio的Email到Blog功能)、Zempt、NewzCrawler,和其它一些支持BloggingAPI的工具...
人才招聘网站管理系统采用ASP.NET(C#)三层结构开发;采用sql server数据库,数据容量巨大,快速,稳定是建立大型人才网站的好程序,采用全新的生成静态页技术;数据处理方面采用全存储过程实现,可快速实现大批量数据...
11、完善的日志记录功能:后台管理员及用户前台的各种操作行为,访客或其它用户对有关用户文件进行的操作均会产生实时操作日志,以便于出现问题追根溯源。 12、文件(公文)签收审批:前台用户得到他们共享给其的...