WAP2.0 文档结构
必须包含<html>, <head>, <title>和<body> 元素。
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello world</title>
</head>
<body>
<p>Hello world. Welcome to taobao.com.</p>
</body>
</html>
注意:
XML声明和字符编码:<?xml version="1.0" encoding="UTF-8"?>
UTF-8/16编码可省略。XML声明也不是必须的,但如果忽略在许多WAP浏览器中出错。
必须有DOCTYPE声明。在XML声明和<html>元素之间。
<html>、<head>、<title>、<body>必须要有
<p>元素,align属性已经去除,可以通过WAP CSS的text-align属性来设置
WAP2.0与WAP1.0区别
WAP1.0基于WML语言开发,支持WMLScript
WAP2.0基于XHTML MP开发,支持WCSS
WAP1.0只能通过手机或特殊浏览器浏览。
WAP2.0开发的站点可以在WEB和无线上都可以使用,也可以用任何Web浏览器访问WAP2.0应用。
WAP2.0所不支持WAP1.0的特性
-
XHTML MP 不支持<deck>和<card>标签
在XML中,一个文件可以包含一个或更多的card,所有的card组合成一个deck,并在无线设备中一同被下载。WAP浏览器每次只显示一
个card,可以通过锚链接访问其他的card。通过这些,减少了服务器的往返的访问。对性能的提高是有意义的。在XHTML MP中要实现类
似的特性,可以使用multipart messages(多个文档放到一个请求)另外一个方式是使用目标锚(一个页面的不同位置)。 - XHTML MP 不支持<timer>标签
可使用<meta>代替定时器
<head> <meta http-equiv="refresh" content="10;URL=http://www.planabc.net/" /></head>
<meta>元素10秒后告诉WAP浏览器URL。
注意点:WML timer 仅当进入card,而HTML refresh timer当进入XHTML MP页面。 - XHTML MP 不支持事件
WML支持四个事件(ontimer,onenterbackward,onenterforward,onpick),除ontimer其他事件无法模拟。如要使用,需使用WML1.X - XHTML MP 不支持变量
在XML,可以声明变量,并赋值,拥有全局作用域。可以在任何的deck和card中使用。XHML MP放在服务器端处理(必须发送并保存)。 - XHTML MP 不支持客户端脚本
在XML,你可以使用客户端脚本(WMLScript)。JavaScript的简化版,常用来验证数据。放在服务器短处理。将来的版本将会支持客户
端脚本(ECMAScript MP),支持所有的WMLScript功能 - XHTML MP 不支持可编程序软键(Programmable SoftKeys)
WML的一个最大特征。通过<do>标签使用。
在XHML MP中可以使用 accesskey 属性。锚链接和提交按钮支持这个属性:
<a accesskey="1" href="part1.xhtml">XHTML MP Tutorial Part 1</a>
WCSS中的-wap-accesskey属性也可以用来定义:a.wcss_class_1 {-wap-accesskey: 1} -
XHTML MP 不支持<u>标签
在XML,<u>用来在一些文字下添加下划线。可以用WCSS中的text-decoration属性。 -
XHTML MP 不支持Input框的format属性
在XML,可以定义类型和字数限制。可以使用WCSS中的-wap-input-format属性,语法一致。
比如限制5个数字字符:input {-wap-input-format:"5N"} -
XHTML MP 不支持锚链接传输数据
WAP1.0 提交数据
<p> 姓名:
<input name="name"/><br/>
<anchor>
<go method="get" href="yuanxin.php">
<postfield name="name" value="$(name)"/>
</go>
提交
</anchor>
</p>
WAP2.0 提交数据
<form action="yuanxin.php" method="get">
<p>姓名:
<input name="name"/><br/>
<input type="submit" value="提交"/>
</p>
</form>
WAP2.0 开发语言 XHTML 和 HTML的区别
-
XHTML文件的开始要声明DTD
XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd - 所有的标签都必须被关闭,空标签也不例外
HTML中的<br>要写成<br/>注意,后面加了一个空格" "和一个反斜杠"/" - 所有的标签和标签的属性都必须小写,属性值可以大写
如错误代码:
<BODY>
<P>This is a paragraph</P>
</BODY>
正确格式为:
<body>
<p>This is a paragraph</p>
</body> - 属性值必须用引号括起来。单引号双引号均可
错误的代码:
<table width=100%>
正确的代码:
<table width="100%"> - XHTML 元素一定要被正确的嵌套使用
在HTML里一些元素可以不正确嵌套也能正常显示,如:
<b><i>This text is bold and italic</b></i>
而在XHTML必须要正确嵌套之后才能正常使用,如:
<b><i>This text is bold and italic</i></b> - 如果你使用的是strict.dtd。也就是最严格的XHTML,那么许多定义外观的属性都将不被允许
例如你为图片添加链接的同时想去掉边框。不可以再使用<img src="..."border="0">,而是必须通过CSS来实现。
属性的缩写被禁止
错误的代码:
<dl compact>
<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>
正确的代码:
<dl compact="compact">
<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />
HTML中可缩写的属性列表:
HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize" - 用id属性代替name属性
HTML 4.01 中为a,applet, frame, iframe, img 和 map定义了一个name属性.在 XHTML 里name属性是不能被使用的,应该用id 来替换它。如:
错误代码:
<img src="picture.gif" name="picture1" />
正确的代码:
<img src="picture.gif" id="picture1" />
注意:我们为了使旧浏览器也能正常的执行该内容我们也可以在标签中同时使用id和name属性。如:
<img src="picture.gif" id="picture1" name="picture1" />
为了适应新的浏览器浏览加了/来结束标签。