WAP开发随笔 [转贴]

编制wap中的快捷键
把accesskey属性加入到<a>、<anchor>和<input>标签中。
accesskey属性将允许用户只需要按一个专门的按键转跳到一个专门的锚或者输入框中。
这样可以加快用户的访问速度,并且符合用户的访问习惯。

 

 

Asp开发 联通CDMA

以下是在开发wap中的随笔,其中一些对于“老鸟”来说,谈不上什么,希望对初学者有所帮助,大家有什么小技巧,欢迎顶上来。共同学习、共同进步 ^-^
1、iis配置Wap环境
在作为wap站点的属性-->Http头-->MIME映射中添加新的文件类型,具体如下:
关联文件名 内容类型
wml text/vnd.wap.wml
wmlc application/vnd.wap.wamlc
wmls text/vnd.wap.wmlscript
wmlsc application/vnd.wap.wmlscript
wbmp image/vnd.wap.wbmp
编写一个wml文件或者使用asp编写一个动态网页
如果使用asp编写,在源码的开始添加
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.ContentType = "text/vnd.wap.wml; charset=utf-8"%>
编码采用utf-8
就可以使用模拟器进行浏览了。

[这消息被心开风神编辑过(最后编辑时间2004-7-27 15:03:36)]


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-07-27 14:47:04  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
2、wap中的编码比较严格,标签区分大小写。标签一定要对应。初学者经常犯这样的错误
3、说到标签对应就涉及到这样一个问题。当在一个表中查询记录的时候,在asp中没有记录就输出“没有记录提示”并response.end。但是在wap中不行,因为这样就不会输出</card></wml>等闭合标签。
我采用的方法是。得到记录集后



if rs.eof then
Wrong="暂时没有记录。。。"
else
'正常的进行页面显示。。。。。
end if
respong.write Wrong

</p>
</card>
</wml>
这样可以避免标签不闭合。



MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-07-27 14:58:18  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
4、图片下载中首先一定要做到
a、图片格式要正确:有的手机支持png 有的支持gif、bmp、jpg 。(联通CDMA的大部分都支持png)
b、图片的路径要正确:绝对路径 比如http://****/PicDown/aa.png
c、图片的大小要适当:预览的图片不能超过10kb,供下载的图片不能超过30kb。(这个我也不知道有没有标准,这是我在实际测试中得到的数据),下载有些手机支持图片或者铃声可能还要大 <50kb,但是为了照顾大多数手机所以,建议<30kb。
d、图片的大小一定要和图片的名称对应,也就是说 aa.png是多么大,在其size中就写多么大,这两个是对应的。
e、有的手机在手机内存储图片达到一定数量时候,就会提示“下载个数过多”等类似提示,有的手机有预览-->保存(如:MOTO)有的没有,下载后直接保存到手机中(LG8180)。
f、判断用户下载是否成功,可以在指定的文件中获得Status,if Status=‘ok’ 则表明下载成功,进行提示下载成功、下载次数+1等操作,否则,提示下载失败


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-07-29 09:01:27  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
5、wap中的分页
分页和web中是一样的,只是有些功能比较简化了,下面是常用的分页,没有写成函数是方便大家修改。

在打开记录集后写,如下代码:

<%
filepath=request.servervariables("path_info")%>
<%page=1
page=request("page")
rs.PageSize = 8 '每页的记录的条数
if Not IsEmpty(trim(Request("Page"))) then
Page = CInt(Request("Page"))
if Page > rs.PageCount then
rs.AbsolutePage = rs.PageCount
elseif Page <= 0 then
Page = 1
else
rs.AbsolutePage = Page
end if
End if
%>


然后再想显示分页的地方,一般是在记录集循环输出完毕的后面写:

<%if rs.pagecount<>1 and rs.pagecount<>0 then%>
<br/>
<%if page>rs.pagecount then%>
<a title="确定" href="<%=filepath%>?Page=<% =page -1 %>">上一页</a>
<%else%>
<%if page<>1 then %>
<a title="确定" href="<%=filepath%>?Page=<% =page -1 %>">上一页</a><br/>
<% end if %>
<a title="确定" href="<%=filepath%>?Page=<% = page + 1%>">下一页</a>
<%end if %>
<%end if
response.Write "第"&page&"页 共"&rs.pagecount&"页"
%>

注意显示的时候首先显示下一页,然后再显示上一页这和web上的习惯不太一样。

另外,如果这页的内容是显示是通过上页传送来的参数,作为条件的,则在 类似
<a title="确定" href="<%=filepath%>?Page=<% = page + 1%>">下一页</a>
的地方都要加上该参数,否则进行下一页连接的时候就会把参数丢掉。
例如:从上页用户选择的新闻的种类,来显示新闻。在List.asp页面首先写,NewType=request.form("NewType")得到用户选择的新闻的类型。
然后SQL="Select ..........where NewType='"&NewType&"'" 。完成记录集合的准备工作。注意:在进行下页面的时候要写成
<a title="确定" href="<%=filepath%>?Page=<% =page -1 %>&amp;NewType=<%=NewType%>">上一页</a><br/>,
这样的形式,有多少条件后面跟多少条件。
但是这样就产生问题了,即时这样写NewType=request.form("NewType")也得不到NewType的值。所以在页首刚开始的地方应该写成NewType=request("NewType")。就可以实现把参数带到下一页的连接中了。


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-03 09:08:43  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
wap中上一条、下一条的问题。
在开发中,新闻、笑话、下载等业务为用户提供方便基本都需要在一条记录完成后,再提供下一条记录的操作,下面是简要的对下一条记录实现方法的描述。

比如显示新闻是国际新闻的记录,list.asp来进行显示,通过sql语句select * from NewsInfo where type='国际' ,来得到符合条件的记录集,用户在浏览过程中,当前记录的id=10,下一条记录的id是idnext=10+1=11,上一条记录的id是idpre=10-1=9,然后<a href="list.asp?id='"&IdNext&"'">上一条</a>,这样的做法是欠缺的,仅仅适用与id是连续的,也就是说所有国际新闻的id是连续的,如果国际新闻和国内新闻在表中是穿插写入的,那么你的id-1很可能是国内新闻,条件限制type='国际' 就不起作用了。

正确且简练的做法应该是这样的(可能大家还有更好的做法),

当前的id是IdNow,表NewsInfo是按照id自增的。
获得idnext=select top 1 from NewsInfo where type='国际' and id>'"&IdNow&"'
获得Idpre=select top 1 from NewsInfo where type='国际' and id<'"&IdNow&"' order by id desc

剩下的问题,就不用说了吧,注意,先显示下一条,然后显示上一条,这样才方便用户


MyBlog
Blueidea Web Team
Moderator of WAP Forum
angelz

初级用户
积分:8
发贴:2
来自:北京
注册:2004-08-04
 发表于 2004-08-04 15:17:16  按此观看angelz的个人资料 该用户不允许显示它的电子邮件 angelz 的 oicq 是64437869,查看 64437869 的资料 发送悄悄话给angelz 搜索angelz的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
心开风神,你好伟大,不过,我真的真的很想知道用ASP.net开发WAP,你有没有什么 随笔,或是你加我QQ:64437869,指点我一二也成
问题:移动手机浏览WAP网站,提示:“网关无回应”,妹妹在这里真诚求解


我要用.net开发WAP,做过这方面的哥哥姐姐帮帮妹妹
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-10 08:36:13  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
wap中新闻等图片和文字混排
Wap开发中,图片和文字混排,可以采用ubb编码,原理就是自己定义一共特殊的格式,采用mid和replace函数进行转换。比如定义[img][/img],表示图片的开始和结束。
但是要注意,web和wap中的区分。进行以下替换 string1all = Replace(string1all,"[img]","</p><p align=""center""><img src=""../img/")
string1all = Replace(string1all,"[/img]"," "" alt=""""/></p><p>")

会使得图片居中显示。


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-10 08:52:38  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
新闻小说的分页
在wap中过长的新闻和小说,会给大家带来很大的不方便。所以要求进行分页显示,比如按照每页显示300字来举例子。

pageWordNum=300 ' 每页显示的字数,这里300可以是变量
StartWord = 1
Length=len(Content) '要显示内容的总的长度
PageAll=(Length+PageWordNum-1)/PageWordNum '该篇新闻总共可分的总页数

i=request.QueryString("i") '第几页的标记
if isnull(i) or i="" then '如果是新闻的刚开始则默认i=0
i=0
end if
Content = mid(Content,StartWord+i*PageWordNum,PageWordNum) '利用mid函数进行新闻内容的截取(mid函数的含义:从字符串中返回指定数目的字符)




<%
'开始进行分页操作
if 0<=i<PageAll then
if cint(i)<cint(PageAll)-1 then%>
<a href="ListFengshuiInfo.asp?i=<%=i+1%>">下一页</a><br/>
<%end if
if cint(i)>0 then%>
<a href="ListFengshuiInfo.asp?i=<%=i-1%>">上一页</a><br/>
<%end if
end if
%>

结束。

注意:1、 <a href="ListFengshuiInfo.asp?i=<%=i+1%>">下一页</a><br/>中ListFengshuiInfo.asp?i=<%=i+1%>可以按照你的实际环境的需要添加变量。
2、Mid函数的解释说明:


从字符串中返回指定数目的字符。

Mid(string, start[, length])
参数
string
字符串表达式,从中返回字符。如果 string 包含 Null,则返回 Null。
Start
string 中被提取的字符部分的开始位置。如果 start 超过了 string 中字符的数目,Mid 将返回零长度字符串 ("")。
Length
要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。

大家有什么其它的分页方法,欢迎贴上来,共享共享


MyBlog
Blueidea Web Team
Moderator of WAP Forum
xjyong

初级用户
积分:14
发贴:4
来自:
注册:2004-08-16
 发表于 2004-08-16 16:11:52  按此观看xjyong的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给xjyong 搜索xjyong的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
怎么发贴啊?
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-17 09:55:58  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
呵呵 你不是已经发了么?


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-24 19:29:47  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
编制wap中的快捷键
把accesskey属性加入到<a>、<anchor>和<input>标签中。
accesskey属性将允许用户只需要按一个专门的按键转跳到一个专门的锚或者输入框中。
这样可以加快用户的访问速度,并且符合用户的访问习惯。


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-24 19:31:00  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 

如何让WML页面自己更新?
有过Web经验的人喜欢使用:
<meta http-equiv="refresh" content="1;http://somewhere.com/"> 
来强制浏览器自动更新。
虽然在WAP中也支持一些META标签,一个更好的办法是使用<ontimer>标签。
以下的代码显示了如何自动转跳到另外一个卡片:nextdeck.wml。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
    <card id="splashscreen" ontimer="nextcard.wml">
      <timer value="40"/>
      <p>Please wait for the timer to run out...</p>
    </card>
</wml>
下面的代码将强制浏览器在一段时间后重新装入同一个卡片。这个页面叫做loop.wml。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
    <card id="loop" ontimer="loop.wml">
      <timer value="40"/>
      <p>This text will be shown over and over again...</p>
    </card>
</wml>
注意必须避免浏览器可能要使用的cache机制。


MyBlog
Blueidea Web Team
Moderator of WAP Forum
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-08-28 01:35:05  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
为了直观 简洁 明了,以后采用这种形式.
怎样防止从Cache中读取WML页面?
wap2.0图片下载成功后的提示

[这消息被心开风神编辑过(最后编辑时间2004-9-9 15:26:24)]


MyBlog
Blueidea Web Team
Moderator of WAP Forum
lszhujun

初级用户
积分:11
发贴:3
来自:
注册:2004-09-11
 发表于 2004-09-11 17:20:27  按此观看lszhujun的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给lszhujun 搜索lszhujun的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
在wap2.0手机的软键上我想用“#”键表示“返回首页”怎么实现?
<do type="options" label="返回首页")">
<go href="index.wml"></go>
</do>
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2004-09-13 18:17:56  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
支持java下载:在iis中需要添加
jad text/vnd.sun.j2me.app-descriptor
jar application/java-archive


MyBlog
Blueidea Web Team
Moderator of WAP Forum
Sellen

微风香水
积分:3333
发贴:2222
来自:1111
注册:2004-05-21
 发表于 2004-09-14 08:27:06  按此观看Sellen的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给Sellen 搜索Sellen的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
收藏,难免以后会用到,楼主辛苦啦~


满瓶不动半瓶摇,更何况不足半瓶...  Upai
mm1234

超级用户
积分:446
发贴:125
来自:
注册:2004-07-14
 发表于 2004-09-20 08:48:28  按此观看mm1234的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给mm1234 搜索mm1234的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
我这样<a href="uplinkownload?source=http://wap.165e.com/df/http://221.232.139.12/wap/aa.png&amp;size=10341&amp;object=phone:wallpaper&amp;status=http://221.232.139.12/wap/DfStatus.asp" title="&#892;&#428;">download</a>
提示图片下载成功后,"我按结束键的时候提示URL错误是怎么回事啊?"
goto97

初级用户
积分:27
发贴:10
来自:
注册:2004-10-09
 发表于 2004-10-09 11:32:38  按此观看goto97的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给goto97 搜索goto97的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
现在联通正在向WAP2.0转,
WAP2.0支持XHTML, 那编程这块是否可以用DW写好后,导出为XHTML.

我是菜鸟
qqyuwap

初级用户
积分:8
发贴:2
来自:
注册:2004-10-18
 发表于 2004-10-18 12:23:40  按此观看qqyuwap的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给qqyuwap 搜索qqyuwap的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
怎样把在线人数调用到页面
qqyuwap

初级用户
积分:8
发贴:2
来自:
注册:2004-10-18
 发表于 2004-10-19 04:21:01  按此观看qqyuwap的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给qqyuwap 搜索qqyuwap的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
那位大哥能教我一下!我在做WAP网站是做了一个在线人数。一切都做好了就是不会调用到页面。那位大哥教教我啊现在有<script src="http://域名/index.asp"></script>人在线
是这样吗?可是不可以啊!
AlittleSeal

终级用户
积分:467
发贴:164
来自:郑州
注册:2004-06-02
 发表于 2004-11-04 16:47:13  按此观看AlittleSeal的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给AlittleSeal 搜索AlittleSeal的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
好文,收藏了,以后肯定能用得上


在Web程序的开发中度过每一天......
我Blog:
一只小海豹!
lilisoft

初级用户
积分:41
发贴:11
来自:
注册:2004-10-27
 发表于 2004-11-06 03:47:42  按此观看lilisoft的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给lilisoft 搜索lilisoft的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
心开风神在上个帖子中说
引用:
4、图片下载中首先一定要做到
...
f、判断用户下载是否成功,可以在指定的文件中获得Status,if Status=‘ok’ 则表明下载成功,进行提示下载成功、下载次数+1等操作,否则,提示下载失败


有没有Status.asp现成的源码啊?我编得头都炸了,还做的下载页面怎么不能预览啊,家上那段就错误了,我是CDMA的手机

出错片段:
....
<%
if sort1="1" then

''sort1是读取的数据库里的"分类"值,根据其判断是否预览
''测试数据无错,可用于单独显示文本


previewtext="作品预览:<br/><img src="&path1&" /><br/>"

''path1是读取的数据库里的"路径"值,格式为"upload/xxxx.png"
''测试数据无错,可用于单独显示文本
''img加上就错
''previewtext已定义,测试可正确调用


end if
if sort1="2" then
previewtext=""
end if
if sort1="3" then
...
...
Response.Write previewtext
%>
....

Hace

高级用户
积分:247
发贴:65
来自:无忧城
注册:2005-01-13
 发表于 2005-01-20 12:08:03  按此观看Hace的个人资料 按此发邮件给Hace 发送悄悄话给Hace 搜索Hace的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
扫嘎,没收!
谢谢楼主!


一般人我不告诉他!
心开风神

版主
积分:3200
发贴:1008
来自:石门
注册:2003-03-05
 发表于 2005-02-02 11:23:52  按此观看心开风神的个人资料 该用户不允许显示它的电子邮件 访问心开风神的主页 发送悄悄话给心开风神 搜索心开风神的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
转贴
桌面 (DECK)
由于网络带宽以及某些WAP服务器DECK传输的限制,所以DECK越小越好,最好不要超过1.2K。如果你的需求很复杂,最好分成几个DECK来完成。 

完整的WML文档结构如下:

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
  "http://www.wapforum.org/DTD/wml_1.1.xml";> 
<wml> 
  <head> 
   . 
   . 头信息......
   . 
  </head> 
  <template>
   .
   . 模板定义...... 
   . 
  </template> 
  <card>
   . 
   . 内容......
   . 
   </card>
   .
   . 其他card(可有可无)......
   . 
</wml>

XML说明 [TOP] 

DECK开头必须指明以下的XML类型声明: 

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
  "http://www.wapforum.org/DTD/wml_1.1.xml";>

第一行指出XML版本,紧跟的文档类型(DOCTYPE)声明指出所引用的语言标准定义(wml_1.1.xml的内容可以察看本教程附录中的DTD说明)。

这两句的位置和顺序不可更改,而且中间不能有空行。

<wml> [TOP] 
语法: 
<wml>标签和HTML中的<html>标签一样,用来表明这是一个WML的DECK。xml:lang属性来指定文档的语言,比如<wml xml:lang="zh">表示文档语言为中文。

<head> [TOP] 
<head>标签包含了该DECK的相关信息。<head>标签之间可以包含一个<access>标签和多个<meta>标签。

<access>语法:
<access domain="STRING"  path="STRING" />
<access>相当于HTML中的<BASE>标签,指定该DECK的访问控制信息,它的两个属性是可选的。

domain:指定域,默认值为当前域。
path:指定路径,默认值为"/",即根目录。

<meta>语法: 
<meta 
   http-equiv="STRING" | name="STRING" 
   forua="true|false" 
   content="STRING" 
   scheme="STRING" />

和HTML中<META>的类似,<meta>提供了该DECK的meta信息。
包括一下三种情况
name="name" UP.Link Server忽略meta数据
  http-equiv="name" UP.Link Server将meta数据转为HTTP响应头(同HTML) 
  user-agent="agent" UP.Link Server直接将meta数据传给手机设备

content属性也是必选的,其内容根据属性而定。scheme属性目前尚不支持。forua为可选属性,指定在该wml文件传到客户端之前,<meta>标签是不是被中间代理删除(因为传输的协议可能改变),默认值为false。

目前支持的meta数据: 
  <meta http-equiv="Cache-Control" content="max-age=3600"/>指定DECK在手机内存缓存中的存储时间段,默认的为30天(除非内存耗尽),在该期间,手机对于访问过的DECK直接从缓存里调用。如果信息是对时间敏感的,可以用max-age指定DECK在缓存里的生存期,最小单位是秒,如果指定为0,则每次都需通过连接服务器来调用该DECK。

  <meta user-agent="vnd.up.markable" content="false"/>和<meta user-agent="vnd.up.bookmark" content="指定的URL"/>类似于普通浏览器的书签功能。当用户将一个CARD做了书签后,手机浏览器首先用一个标记记录该CARD,这个标记默认的是<card>标签中的title属性(以后会讲到),然后当用户选择了该书签以后,浏览器就会打开被记录的URL。但是因为在默认的情况下,手机会记录所有的DECK,所以,一般<meta>被用来使手机不要记录当前的URL,即<meta user-agent="vnd.up.markable" content="false"/>。此外,如果要为书签指定不同于当前DRECk的URL,用<meta user-agent="vnd.up.bookmark" content="指定的URL"/>。

<template> [TOP] 
<template>元素声明一个DECK级的事件/请求,对DECK页面中所有CARD有效,当然某个CARD可以通过定义同名的事件来替代<template>声明中的事件处理。 

语法: 
<template 
   onenterforward="STRING" 
   onenterbackward="STRING" 
   ontimer="STRING" />
onenterforward:当用户通过<go>进入CARD时调入的链接。
onenterbackward:当用户通过<prev>退回CARD时调入的链接。
ontimer:<timer>事件激活时调入的链接。

例子(其中涉及的其他命令参考其他章节): 
<wml> 
<template> 
  <do type="options" name="do1" label="default"> 
  <prev/> 
  </do> 
</template> 
<card id="first"> 
  <!-该卡片将自动套用模块中定义的事件处理过程-->
   … 
  </card> 
<card id="second"> 
  <!-使用空操作(noop)来屏蔽模块中定义的事件处理过程-> 
  <do type="options" name="do1"> 
   <noop/> 
  </do> 
   … 
</card> 
<card id="third"> 
  <!-该卡片使用同名的事件处理替代模块中提供的事件处理-> 
  <do type="options" name="do1" label="options> 
   <go href="/options"/> 
  </do> 
</card> 
</wml>

另外可以参看事件(EVENT)。

<card> [TOP]
一个DECK可以包含多个CARD,每个CARD的内容可能不止一屏显示,注意DECK、CARD和屏幕显示范围的关系。一个CARD用<card>和</card>包含。 

语法: 
<card
  id="STRING" 
  title="STRING" 
  newcontext="true|false" 
  ordered="true|false" 
  onenterforward="STRING" 
  onenterbackward="STRING" 
  ontimer="STRING" 
  xml:lang="STRING"> 

每个CARD元素可以有一个标号(ID)和标题(TITLE)。当然,这都不是必须的。

id:CARD的名字,在DECK中唯一,可用作URL已进行跳转。

title:CARD的标题,用户BOOKMARK一个CARD时的名字。该属性在某些用户终端上会显示出来。

newcontext:用来指示当跳转到本CARD时,用户终端(手机、模拟器等)是不是要清除以前保留的信息如变量、堆栈历史记录、终端状态等。默认值为FALSE。

ordered:表明该CARD里的内容是按固定的顺序显示,还是按用户的选择来显示。默认值是TRE。这点和HTML不同,CARD页面里的内容可以按一定的顺序显示,默认的是按线性顺序显示,即按代码的顺序,但是,要注意的是,以下三个标签必须按以下顺序来写<onevent> <timer> <do>,(这和以后要讲的“事件”有关)。这样做是为了方便填表单,当ordered设置为true时,如果一个表单的内容不能在一屏里显示完,就分成多屏显示;当ordered设置为false时,手机可以显示一个概要CARD来总结有效的选项,用户可以从中选取表单选项来填写。

onenterforward:当用户通过<go>进入CARD时调入的链接。
onenterbackward:当用户通过<prev>退回CARD时调入的链接。
ontimer:<timer>事件激活时调入的链接。

不同浏览器指标 [TOP]>
Nokia 7110>Ericsson R320>Ericsson R380>UP.Browser>CARD最大字节数>
1397 字节>3000 字节>3800 字节>1492 字节>
图象最大字节数>
1397 字节>3000 字节?>3800 字节?>1492 字节?>
显示行数>
4 (含标题行)>5>7>
视终端不同>

S3568i:6>
显示列数>19>14>不知道>视终端不同>


显示宽度(象素)>

95>101>304>视终端不同>

显示高度(象素)>
45>52>98>视终端不同>

象素比例>
1:1.25>不知道>1:1.23>视终端不同>

字体>
无>Small, Bold, Emphasis, Strong>Small, Big, Bold, Italic, Emphasis, Strong>Small, Big, Bold>

文字位置>
没有,强制居左>居左、居中、居右>居左、居中、居右、段落缩进>不知道>

图象位置>
强制居左>不知道>不知道>不知道>

表格支持>
不支持>多5x5格>不知道>不知道>

触摸屏>
无>无>有>无>

图标键>
无>无>有>不知道>

在WML页面内拨号>

"提取号码" 功能>通过WTAI支持>通过WTAI支持>3.1以上版本的浏览器支持>


输入>
在行内输入>在设置位置输入>在设置位置输入>不知道>

输入格式>
只有大小写>不知道>不知道>不知道>

图形链接>
无>有>有>不知道>

链接格式>
在行内>在设置位置>在设置位置>不知道>

DECK下载顺序>
文字,然后图形,再开始选择性计时>文字,开始选择性计时,然后是图(结果有可能是CARD还未下载完毕就已过时)>不知道>>

HTTP Redirect>
支持>支持>支持>支持>


MyBlog
Blueidea Web Team
Moderator of WAP Forum
yh2o09

初级用户
积分:15
发贴:4
来自:
注册:2005-02-04
 发表于 2005-02-04 15:59:14  按此观看yh2o09的个人资料 按此发邮件给yh2o09 发送悄悄话给yh2o09 搜索yh2o09的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
请问:
要在一个卡片中同时传送文字、图片、及音乐可以做到吗?如何实现?
可一将声音做成背景音乐吗??

torpedo

初级用户
积分:128
发贴:47
来自:
注册:2004-09-03
 发表于 2005-03-27 19:37:34  按此观看torpedo的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给torpedo 搜索torpedo的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
一定要这样么?不是新wap2.0标准可以支持base xhtml了么?用xhtml开发速度会好些吧?(菜鸟发言)
百威

初级用户
积分:49
发贴:14
来自:西安,陕西,中国
注册:2004-02-13
 发表于 2005-04-08 18:12:52  按此观看百威的个人资料 该用户不允许显示它的电子邮件 发送悄悄话给百威 搜索百威的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
谢谢
峰鸟

高级用户
积分:201
发贴:74
来自:中国深圳
注册:2001-03-20
 发表于 2005-05-24 13:27:48  按此观看峰鸟的个人资料 该用户不允许显示它的电子邮件 访问峰鸟的主页 峰鸟 的 oicq 是2713628,查看 2713628 的资料 发送悄悄话给峰鸟 搜索峰鸟的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
好东东.收藏.又可以学到一些东东.真是谢谢版主了!


163WAP.CN专注手机WAP服务
162100

初级用户
积分:92
发贴:107
来自:广东
注册:2004-09-24
 发表于 2005-06-02 12:03:51  按此观看162100的个人资料 该用户不允许显示它的电子邮件 访问162100的主页 发送悄悄话给162100 搜索162100的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
php方面的资料好像比较少哦~


冰古blog

中文wordpress blogs大集合:Come on, add yours!
knnife

初级用户
积分:4
发贴:1
来自:浙江省丽水
注册:2005-05-31
 发表于 2005-06-02 13:35:25  按此观看knnife的个人资料 按此发邮件给knnife 发送悄悄话给knnife 搜索knnife的所有帖子 引用这个帖子回复 将本帖子内容通过email打包下载 
求救:
斑竹: 我最近做一个WAP网站,但是遇见一个问题,本来就是小菜鸟啦。

就是怎么样把用户购买以后的信息传到数据库去,然后数据库返回一个表单,上面显示用户购买的物品编号,价格,数量,以及送货地点,联系人,以便确认。。。。
谢谢啦,帮帮忙啊。。。。


给我一次机会,还你一个惊喜!嘿嘿!机会给不?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值