<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>杭州|wap网站建设|手机网站建设|wap网站|wap建站|手机网站 - WAP开发</title><link>http://www.hzwap.net/</link><description>专业致力于杭州WAP网站建设|杭州WAP开发|WAP技术咨询服务 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 81206</generator><language>zh-CN</language><copyright>Copyright @ HzWap.net 2006-2009 All Rights Reserved.</copyright><pubDate>Sat, 31 Jul 2010 01:45:06 +0800</pubDate><item><title>XHTML MP MIME 类型与文件扩展</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090530323.html</link><pubDate>Sat, 30 May 2009 22:30:03 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090530323.html</guid><description><![CDATA[<div class="articleContent" id="articleBody"><h4>MIME 类型</h4><p>下面三个 MIME 类型可用于 XHTML MP 文档:</p><pre>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> application/vnd.wap.xhtml+xml<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> application/xhtml+xml<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> text/html<br /> </pre><p><font color="#074387">开放移动联盟 (Open Mobile Alliance, OMA)</font> 为 XHTML MP 文档指定的 MIME 类型为 &quot;application/vnd.wap.xhtml+xml&quot;. 该 MIME 类型对于要正确显示 XHTML MP 文档的一些 WAP 浏览器 (比如, 一些诺基亚60系列浏览器) 来说是必须的.</p><p>另一个可选择的 MIME 类型是 &quot;application/xhtml+xml&quot;. 该类型是 XHTML 系列文档的 MIME 类型.</p><p>&quot;text/html&quot; MIME 类型也是一个可用的选择. 它是 HTML 文档的 MIME 类型. XHTML MP 文档使用 &quot;text/html&quot; 有一个好处是你的 XHTML MP 页面在普通 Web 浏览器是显示也是没有任何问题的. (一些像 IE6 之类的 Web 浏览器并不能显示带有 &quot;application/vnd.wap.xhtml+xml&quot; 或 &quot;application/xhtml+xml&quot; MIME 类型的文档, 而是会弹出对话框让你用外部程序打开或找个地方保存文件.) 缺点是用户代理 (User Agent) 将不会把你的 XHTML MP 页面视为 XML 文档, 也就意味着即使标记代码没有严格遵守 XML 规则, 用户代理也不会抱怨什么.</p><h5>&nbsp;<wbr></wbr> 动态选择 MIME 类型<br />&nbsp;</h5><p>另一个选项是探测某用户代理可处理的 MIME 类型从而动态地选择. 例如,&nbsp;<wbr></wbr> 你的服务器发现某用户代理能处理 &quot;application/vnd.wap.xhtml+xml&quot; MIME 类型, 然后你的所有 XHTML MP 文档都会用 &quot;application/vnd.wap.xhtml+xml&quot; 传输给该用户代理.</p><p>要想动态选择 MIME 类型, 你需要用服务器端语言 (如 PHP, ASP, JSP, Perl) 写几行代码. 伪代码如下:</p><p>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> 1. 获取收到的 HTTP 请求的 Accept Header 值. Accept Header 包含了发送请求的客户端用户代理所能处理的所有的 MIME 类型.</p><p>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> 2. 如果 Accept Header 值包含 &quot;application/vnd.wap.xhtml+xml&quot;, 将 XHTML MP 文档的 MIME 类型设为 &quot;application/vnd.wap.xhtml+xml&quot;.<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> 否则如果 Accept Header 值包含 &quot;application/xhtml+xml&quot;, 将 XHTML MP 文档的 MIME 类型设为 &quot;application/xhtml+xml&quot;.<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> 否则将 XHTML MP 文档的 MIME 类型设为 &quot;text/html&quot;.</p><p>下面的例子演示了怎样用 PHP 编写上述代码. 如果你用的服务器端技术不是 PHP, 代码将稍有不同, 但基本思想没有变化.</p><pre>&lt;?php<br />$acceptHeader = $_SERVER['HTTP_ACCEPT'];<br /> <br />if (false !== strpos($acceptHeader, 'application/vnd.wap.xhtml+xml'))<br />&nbsp;<wbr></wbr> header('Content-type: application/vnd.wap.xhtml+xml');<br />else if (false !== strpos($acceptHeader, 'application/xhtml+xml'))<br />&nbsp;<wbr></wbr> header('Content-type: application/xhtml+xml');<br />else<br />&nbsp;<wbr></wbr> header('Content-type: text/html');<br />?&gt;<br /> </pre><p>这里是上述 PHP 代码的一些描述:</p><p>1. Accept Header 的值是从 HTTP 请求中获取的. 然后将其存放于 acceptHeader 中.</p><pre>$acceptHeader = $_SERVER['HTTP_ACCEPT'];<br /> </pre><p>2. 接下来, 检查变量 $acceptHeader, 看其是否包含关键字 &quot;application/vnd.wap.xhtml+xml&quot; 或 &quot;application/xhtml+xml&quot;. 字符串函数 strpos(string $haystack, string $needle) 返回 $needle 第一次出现的位置. 如果没有找到 $needle, strpos(string $haystack, string $needle) 将返回 false. 也就是说, 如果找到 $needle 了的话, 返回值将不会是 false.</p><pre>if (false !== strpos($acceptHeader, 'application/vnd.wap.xhtml+xml'))<br />...<br />else if (false !== strpos($acceptHeader, 'application/xhtml+xml'))<br />...<br /> </pre><p>3. 方法</p><pre>header('Content-type: ...');<br /> </pre><p>用于设置文档的 MIME 类型.</p><p>&nbsp;<wbr></wbr></p><p>下面的例子演示了如何在实际的 XHTML MP 文档中使用 PHP 代码. 你要做的非常简单 -- 复制 PHP 代码并粘贴到 XHTML MP 文档中 并用 &quot;.php&quot; 作为文件扩展名. (我们将在后面的章节中作深入讨论此例中的 XHTML MP 标记.)</p><p align="right">(hello_world.php)</p><pre><strong>&lt;?php<br />$acceptHeader = $_SERVER['HTTP_ACCEPT'];<br /> <br />if (false !== strpos($acceptHeader, 'application/vnd.wap.xhtml+xml'))<br />&nbsp;<wbr></wbr> header('Content-type: application/vnd.wap.xhtml+xml');<br />else if (false !== strpos($acceptHeader, 'application/xhtml+xml'))<br />&nbsp;<wbr></wbr> header('Content-type: application/xhtml+xml');<br />else<br />&nbsp;<wbr></wbr> header('Content-type: text/html');<br />?&gt;</strong><br />&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;!DOCTYPE html PUBLIC &quot;-//WAPFORUM//DTD XHTML Mobile 1.0//EN&quot; <br />&quot;http://www.wapforum.org/DTD/xhtml-mobile10.dtd&quot;&gt;<br /> <br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />&nbsp;<wbr></wbr> &lt;head&gt;<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> &lt;title&gt;XHTML MP 教程&lt;/title&gt;<br />&nbsp;<wbr></wbr> &lt;/head&gt;<br /> <br />&nbsp;<wbr></wbr> &lt;body&gt;<br />&nbsp;<wbr></wbr>&nbsp;<wbr></wbr>&nbsp;<wbr></wbr> &lt;p&gt;大家好. 欢迎大家来学习 XHTML MP 教程.&lt;/p&gt;<br />&nbsp;<wbr></wbr> &lt;/body&gt;<br />&lt;/html&gt;<br /> </pre><h4>文件扩展<br />&nbsp;</h4><p>静态 XHTML MP 文档的典型扩展名为 &quot;.xhtml&quot;, &quot;.html&quot; and &quot;.htm&quot;. 只要在 WAP 服务器的配置文件里正确设置了和文件扩展相关联的 MIME 类型, 你就可以使用你喜欢的其它文件扩展. 如果你要用 ASP, JSP, Perl, PHP 或 SSI (服务器端包含) 之类的服务器端语言往 XHTML MP 文档中动态添加内容, 你或许要将你的 XHTML MP 文档的文件扩展修改为服务器端所用的技术. 例如, PHP 所用的典型扩展为 &quot;.php&quot;, 而 SSI 所用的典型扩展为 &quot;.shtml&quot;.</p></div><!--   -->]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090530323.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=129</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=129&amp;key=e81018c7</trackback:ping></item><item><title>WAP2.0介绍</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090522813.html</link><pubDate>Fri, 22 May 2009 19:38:14 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090522813.html</guid><description><![CDATA[<p>&mdash;&mdash; XHTML MP and WCSS<br />一、WAP的常识（省略） <br />二、XHTML MP<br />（一）XHTML MP 介绍<br />XHTML MP（eXtensible HyperText Markup Language Mobile Profile）<br />WAP2.0<br />与WCSS（WAP CSS /WAP Cascading Style Sheet）配套使用<br />是XHTML的子集<br />XHTML Basic (XHTML子集)+另外的一些XHTML的元素和属性<br />WAP浏览器与互联网之间<br />以前WAP网站（WML and WMLScript ）<br />更多的展示表现（presentation control ）<br />（一）XHTML MP 介绍<br />优势：开发的站点可以在WEB和无线上都可以使用，也可以用任何Web浏览器访问WAP2.0应用<br />向后兼容：XHTML MP / WCSS 和 WML / WMLScript <br />（二）无线标记语言发展<br />HTML：WAP发展的首要任务&mdash;&mdash;移动电话，PDA等访问互联网。WAP standard (WML and XHTML Mobile Profile) 类似HTML<br />WML（Wireless Markup Language） 1.x：WAP 1.x 规范中规定的标记语言，无线设备的第一个标记语言。Openwave、Nokia 和 Ericsson 很早都有自己的标记语言。WML规范是WAP Forum（97）创建的。而现在，很多的WAP站点依然使用的是WML。<br />XHTML：结构比HTML更简洁和严格。这对于无线设备（例：移动电话）很重要，对于有限的处理能力。<br />XHTML Basic :是XHTML的一个简化版本。为处理<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;能力和性能有限的设备设计的（移动电话，PDA，呼机等）<br /><br /><br />（二）无线标记语言发展<br />但是不包含XHTML特性。例如CSS，frames和Scripting。是由W3C定义的。<br />XHTML MP: 在WAP2.0说明中指定的官方标记语言。WAP Forum 基于 XHTML Basic创造，并从XHTML的完整版本中增加了一些元素和属性。例如&lt;i&gt;,&lt;b&gt;,&lt;small&gt;,&lt;big&gt;和&lt;hr&gt;。XHTML MP支持一个简单的CSS版本，即WCSS/WAP CSS。<br />WCSS/WAP CSS: CSS2的一个简化版本，增加了WAP特有的扩展。可以很简单的改变XHTML MP页面的布局和风格。<br />WML2.0: WAP站点开发者不需要顾虑WML2.0。WML2.0向后兼容，并且对于WAP站点开发者还不可用。<br /><br />（三）XHTML MP的优点<br />最大优点：开发者可用相同的技术开发适用于WEB和WAP的站点。<br />有HTML、XHTML、CSS基础即可入门。<br />同样的开发工具可以用来开发WEB和WAP站点。<br />开发过程中一般的WEB浏览器可以浏览你的WAP站点。<br />HTML/XHTML页面可以通过较小的修改成XHTML MP，甚至不用修改（注意：布局是否适应小屏幕，文件大小是否出最大）。<br />支持WCSS。移动设备有很多不同的特征，比如屏幕大小，只需写一次结构，使用不同的WCSS文件即可。<br />更多的表现控制。<br /><br /><br /><br />（四） 不支持的WML 特性<br />XHTML MP 不支持&lt;deck&gt;和&lt;card&gt;标签。<br />&nbsp; &nbsp;&nbsp; &nbsp; 在XML中，一个文件可以包含一个或更多的card，所有的card组合成一个deck，并在无线设备中一同被下载。WAP浏览器每次只显示一个card，可以通过锚链接访问其他的card。通过这些，减少了服务器的往返的访问。对性能的提高是有意义的。在XHTML MP中要实现类似的特性，可以使用multipart messages（多个文档放到一个请求）另外一个方式是使用目标锚（一个页面的不同位置）。 <br />XHTML MP 不支持&lt;timer&gt;标签<br />&nbsp; &nbsp;&nbsp; &nbsp; &lt;head&gt; &amp;nbsp;&amp;nbsp;&lt;meta http-equiv=&quot;refresh&quot; content=&quot;10;URL=http://www.planabc.net/&quot; /&gt; &lt;/head&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;meta&gt;元素10秒后告诉WAP浏览器URL。<br />&nbsp; &nbsp; &nbsp; &nbsp;注意点：WML timer 仅当进入card，而HTML refresh timer当进入XHTML MP页面。<br />（四） 不支持的WML 特性<br />3.&nbsp; &nbsp;XHTML MP 不支持事件。<br />&nbsp; &nbsp;&nbsp; &nbsp; WML支持四个事件（ontimer,onenterbackward,onenterforward,onpick），除ontimer其他事件无法模拟。如要使用，需使用WML1.X。<br />4.&nbsp; &nbsp; XHTML MP 不支持变量。<br />&nbsp; &nbsp; &nbsp; &nbsp;在XML，可以声明变量，并赋值，拥有全局作用域。可以在任何的deck和card中使用。XHML MP放在服务器端处理（必须发送并保存）。<br />5.&nbsp; &nbsp; XHTML MP 不支持客户端脚本。<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;在XML，你可以使用客户端脚本（WMLScript）。JavaScript的简化版，常用来验证数据。放在服务器短处理。将来的版本将会支持客户端脚本（ECMAScript MP）,支持所有的WMLScript功能。<br /><br />（四） 不支持的WML 特性<br />6.&nbsp; &nbsp;XHTML MP 不支持可编程序软键（Programmable SoftKeys）。<br />&nbsp; &nbsp; &nbsp; &nbsp;WML的一个最大特征。通过&lt;do&gt;标签使用。在XHML MP中可以使用 accesskey 属性。锚链接和提交按钮支持这个属性：<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;a accesskey=&quot;1&quot; href=&quot;part1.xhtml&quot;&gt;XHTML MP Tutorial Part 1&lt;/a<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;WCSS中的-wap-accesskey属性也可以用来定义：a.wcss_class_1 {-wap-accesskey: 1}<br />7.&nbsp; &nbsp; XHTML MP 不支持&lt;u&gt;标签。<br />&nbsp; &nbsp; &nbsp; &nbsp;在XML，&lt;u&gt;用来在一些文字下添加下划线。可以用WCSS中的text-decoration属性。<br />8.&nbsp; &nbsp; XHTML MP 不支持Input框的format属性。<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;在XML，可以定义类型和字数限制。可以使用WCSS中的-wap-input-format属性，语法一致。比如限制5个数字字符：input {-wap-input-format:&rdquo;5N&rdquo;}<br /><br />（四） 不支持的WML 特性<br />9.&nbsp; &nbsp;XHTML MP 不支持锚链接传输数据。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;p&gt; &amp;nbsp;&amp;nbsp;姓名：&amp;nbsp;&amp;nbsp;&lt;input name=&ldquo;name&rdquo;/&gt;&lt;br/&gt; &amp;nbsp;&lt;anchor&gt; &lt;go method=&ldquo;get&rdquo; href=&ldquo;yuanxin.php&rdquo;&gt;&lt;postfield name=&ldquo;name&rdquo; value=&ldquo;$(name)&rdquo;/&gt;&lt;/go&gt; &amp;nbsp;提交&amp;nbsp;&amp;nbsp;&lt;/anchor&gt; &lt;/p&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;form action=&ldquo;yuanxin.php&rdquo; method=&ldquo;get&rdquo;&gt; &amp;nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&lt;p&gt;姓名：&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input name=&ldquo;name&rdquo;/&gt;&lt;br/&gt;&lt;input type=&ldquo;submit&rdquo; value=&ldquo;提交&quot;/&gt;&lt;/p&gt; &lt;/form&gt;<br />（五） 语法规则<br />标签必须完全闭合。<br />标签和属性必须小写。<br />属性值必须包含在引号标记内。<br />不允许无属性值存在。<br />标签必须完全嵌套。<br />（六）MIME 类型和文件扩展名<br />MIME类型： application/vnd.wap.xhtml+xml、application/xhtml+xml 、text/html。<br />动态生成MIME类型。获得HTTP请求中的accept header信息。<br />文件扩展名：.xhtml、.html、.htm<br /><br />（七）文档结构<br />必须包含&lt;html&gt;, &lt;head&gt;, &lt;title&gt;和&lt;body&gt; 元素。 <br /><br />&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;!DOCTYPE html PUBLIC &quot;-//WAPFORUM//DTD XHTML Mobile 1.0//EN&quot; &quot;http://www.wapforum.org/DTD/xhtml-mobile10.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />&lt;head&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;title&gt;Hello world&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;p&gt;Hello world. Welcome to taobao.com.&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt; <br /><br />（七）文档结构<br />XML声明和字符编码：&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp; UTF-8/16编码可省略。XML声明也不是必须的，但如果忽略在许多WAP浏览器中出错。<br />必须有DOCTYPE声明。在XML声明和&lt;html&gt;元素之间。<br />&lt;html&gt;、&lt;head&gt;、&lt;link&gt;、&lt;title&gt;、&lt;body&gt;<br />&lt;p&gt;元素，align属性已经去除，可以通过WAP CSS的text-align属性来设置。<br />（八）通用的元数据<br />使用&lt;meta/&gt;标签，包含在&lt;head&gt;内<br />WAP浏览器如果不理解则忽略。<br />比如添加作者：&lt;meta name=&quot;author&quot; content=&ldquo;yuanxin&quot;/&gt; <br />Cache Control：&lt;meta/&gt;标签的一个应用是控制XHTML MP文件在Cache中的存在周期：<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;max-age=0&quot;/&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;注意点：与设备相关。一些使用不相的方法，一些没有Cache机制。还有一些不支持&lt;meta/&gt;但识别Cache-Control:no-cache的<br />&nbsp; &nbsp; &nbsp; &nbsp;HTTP头。也可应用于图片的缓存。<br />（八）通用的元数据<br />周期性刷新。必须配合使用。不是所有浏览器都支持。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;meta http-equiv=&quot;refresh&quot; content=&quot;15;URL=yuanxin.xhtml&quot;/&gt; <br />（九）常用标签介绍<br />注释：&lt;!-- -- &gt;，和HTML和WML1.X相同。<br />换行：&lt;br/&gt; ，和HTML和WML1.X相同。<br />水平线：&lt;hr/&gt;。不能包含在&lt;p&gt;&lt;/p&gt;标签之内。<br />标题：&lt;h1&gt;-&lt;h6&gt;（不同的大小和样式），有些设备看起来一样的。<br />&nbsp; &nbsp; &nbsp; &nbsp;<br />（九）常用标签介绍<br />字体样式：XML可以使用标签来改变字体样式（ &lt;b&gt;、&lt;i&gt;、&lt;small&gt;、&lt;big&gt;等）。但一些浏览器只支持其中的部分，不支持的忽略，不会出错。 WCSS 控制字体格式。<br />与格式化文本：在XHTML MP中，标签间空白不显示，此外，段落中2个或更多的空白只显示一个，如果想保持文字的格式，可使用&lt;pre&gt;。 <br />列表：&lt;ul&gt;、&lt;ol&gt;、&lt;li&gt;。对于&lt;ol&gt;元素，可以用属性 start 指定数字开始的序列。还可以用WCSS来做更精确的控制。<br />显示图片：&lt;img&gt;标签用来显示图片。和HTML一样。如果文件没发现或者图片格式不支持，显示alt属性文本。Height和width属性来指定图片显示区域的高度和宽度<br /><br />（九）常用标签介绍<br />除了老的WBMP图片格式，WAP2.0还支持WEB上的图片格式（gif, jpg和PNG），但WAP2.0无线设备支持上面图片格式的某些。GPRS-gif,CDMA-png。可以通过accept HTTP header判断设置。 <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;关于大图片的发布：很多WAP浏览器都没有水平滚动功能。如果宽度大于显示屏，很多的WAP浏览器会裁切图片。图片的按比例缩小不能帮助提升性能。大图片还会造成访问站点用户的费用。<br />&nbsp; &nbsp; &nbsp; &nbsp;优化图片：1、用制图软件按比例缩小图片；2、如果是gif图片，减少颜色，但降低了图片质量，权衡。3、如果是jpg图片，保存一定的压缩比例，依然是权衡。<br />&nbsp; &nbsp; &nbsp; &nbsp;使用multipart messages，先下载的XHTML MP文档，<br />（九）常用标签介绍<br />后请求图片，产生多个请求。该方式可以使文档和图片在一个请求，意味着一个页面只有一个请求。减少服务器的压力。<br />表格：创建表格，需要使用&lt;table&gt;、&lt;tr&gt;、&lt;td&gt;标签，默认表格没有边线。属性有rowspan和colspan。<br />锚链接：一般用在导航。标签为&lt;a&gt;&lt;/a&gt;。属性href定义指定的URL。当前页面位置的跳转：先设置目标链接，通过id属性设置；再设置锚链接的URL为#id名称。<br />&nbsp; &nbsp; &nbsp; &nbsp;对锚链接设置快捷键：&lt;a&gt;标签的accesskey属性，有效的值为：*，#，0-9。还可以用-wap-accesskey设置。<br />（九）常用标签介绍<br />选择列表：选择列表使用&lt;select&gt;标签，包含一个或更多的&lt;option&gt;标签。&lt;select&gt;标签的name属性定义选择列表的名字。name用来取得被选择的item的值（option的value属性定义）。<br />&nbsp; &nbsp; &nbsp; &nbsp;1.&nbsp; &nbsp;多重选择列表：Option的selected属性用来设置默认的option。如果想设置多重选择列表，可使用&lt;select&gt;标签的multiple属性，只有一个唯一值&lsquo;multiple&rsquo;。<br />&nbsp; &nbsp; &nbsp; &nbsp;2.&nbsp; &nbsp;Option分组：使用&lt;optgroup&gt;标签，label属性定义option组的名称。<br />（九）常用标签介绍<br />选择列表<br />（九）常用标签介绍<br />输入元素：Text field、Password fireld、Checkbox、Radio button、Hidden field。通过&lt;input&gt;元素创建。传输数据到服务器，&lt;input&gt;元素必须和&lt;form&gt;一起使用。Type属性用来定义input元素的类别。Name属性用来定义名称，方便取得用户数据。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;text&quot; name=&ldquo;taobao&quot; maxlength=&quot;16&quot; value=&ldquo;yuanxin&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;input { -wap-input-format: &quot;10N&quot;} <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;password&quot; name=&ldquo;taobao&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;checkbox&quot; name=&ldquo;taobao&quot; value=&ldquo;yuanxin&quot; checked=&quot;checked&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;radio&quot; name=&ldquo;taobao&quot; value=&ldquo;yuanxin&quot; checked=&quot;checked&quot;/&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;hidden&quot; name=&ldquo;taobao&quot; value=&ldquo;yuanxin&quot;/&gt; <br /><br />（九）常用标签介绍<br />13.&nbsp; &nbsp;form元素：&lt;input&gt;、&lt;select&gt;等元素不能直接包含在form元素下，XHMTL MP标准规定必须有块级元素。如果有non-ASCII字符，需使用POST方法来避免编码问题。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;form&nbsp;&nbsp;method=&quot;get&quot; action=&ldquo;yuanxin.asp&quot;&gt; &nbsp; &nbsp; &nbsp; &nbsp;&lt;p&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&amp;nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&lt;input ...&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&lt;select ...&gt; &nbsp; &nbsp; &nbsp; &nbsp;&lt;/p&gt; &lt;/form&gt; <br />14.&nbsp;&nbsp;提交按钮：所有的表单都必须包含一个提交按钮。&lt;input&gt;元素用来创建一个提交按钮。而type属性被定义为&rsquo;submit&rsquo;。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;submit&quot; value=&quot;OK&quot;/&gt; &nbsp; &nbsp; &nbsp; &nbsp;<br />（九）常用标签介绍<br />15.&nbsp; &nbsp;重置按钮：并不是必须的。&lt;input&gt;元素用来创建一个重置按钮。而type属性被定义为&rsquo;reset&rsquo;。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;reset&quot; value=&quot;Default&quot;/&gt;<br />16.&nbsp; &nbsp;Div和Span。&nbsp;&nbsp;<br /><br />三、WCSS/WAP CSS<br />（一）WCSS 介绍<br />WCSS/WAP CSS/Wireless CSS/Wireless Profile CSS（WAP Cascading Style Sheet ）<br />是CSS2的子集+一些WAP特有的扩展<br />目的：定义文档的风格和布局，从文档内容中分离。<br />重要性：不同的手机设备有多样的特征，比如屏幕大小。<br />WML不支持WCSS<br />W3C CSS Mobile Profile和WAP CSS 不同。<br />（二）使用WCSS的优势<br />主要：学习成本降低，可用相同的开发工具，可用WEB浏览器浏览。<br />表现和结构的分离：匹配不同无线设备的特征（屏幕大小）、不同客户端代理（PC、PDA、手机）；降低维护成本（新手机）；改变视觉和布局仅需CSS；重复使用CSS；便于工作细分。<br />比WML更好的控制表现：可以定义元素的color，font，background，border，margin，padding等属性。<br />移动设备第一次访问站点下载样式（Cache）。<br />使用外部WCSS，XHTML MP的文档大小变小，提高下载时间。<br /><br />（三）使用WCSS的劣势<br />不同的WAP浏览器对WCSS的支持不同，可能一个属性在这个WAP浏览器上支持，而另外一个不支持。<br />外部的WAP CSS可能增加第一次访问页面的请求时间。原因：外部WCSS不存在于手机的Cache，必须从服务器下载；XHTML MP文档和外部的WCSS下载是不同的请求，增加了服务器压力；如果使用一个WCSS定义WAP站点的所有表现，该文件大小可能很大；WAP浏览器需要解析WCSS到XHTML MP文档。<br />（四）MIME 类型和文件扩展名<br />MIME类型： text/css。<br />文件扩展名：.css<br /><br />（五）WCSS的语法规则<br />WCSS声明：selector {property: property_value} <br />多个属性允许的，用&rsquo;;&rsquo;分隔。<br />多个选择器也是允许的，用&lsquo;，&rsquo;分隔。<br />注释：/*orz*/，WAP浏览器将忽略这些内容。<br />（六）如何在XHTML MP文档中应用<br />链接外部WCSS（推荐），放置在文档的head部分，用style属性定义WCSS样式 <br />&lt;link href=&ldquo;url&rdquo; rel=&ldquo;stylesheet&rdquo; type=&ldquo;text/css&rdquo;/&gt;，可以多个，无需修改rel和type属性。<br />&lt;style type=&quot;text/css&quot;&gt; &amp;nbsp;some WCSS statements &lt;/style&gt; <br />&lt;hr style=&quot;color: blue&quot;/&gt;<br />（七）不同的选择器<br />类型选择器：h1 { font-style: italic} 元素名称必须小写。&nbsp;&nbsp;<br />Class选择器： .class { color:blue} 对应标签的class属性，还可以联合元素名称使用 h1.class {color:blue}。<br />ID选择器：#id {color:red} 对应标签的id属性也可联合元素名称。<br />通用选择器：* { color:blue} ，所有的标签。注意：在某些WAP浏览器上会使样式渲染变慢。（建议不要用）<br />（八）常用的属性值<br />长度：%，px，em，ex，cm，mm，in，pt，pc（值和单位之间不允许有空格：margin-top:1px而不是margrin-top:1 px）。&nbsp;&nbsp;<br />颜色：rgb(r%;g%,b%)、rgb(r,g,b)、#rrggbb、#rgb、red(16种)。<br />URL：ul {list-style-image: url(bullet.gif)} 无引号、双引号、单引号均可。<br />（九）字体和文本属性<br />字体名称：p {font-family: &ldquo;Times New Roman&rdquo;} 名称中有空格或多个单词必须用引号包含。<br />字体大小：p {font-size:12px}，也可以用xx-small，x-samll，small，medium，large，x-large，xx-large<br />字体样式：斜体、粗体和下划线（font-style,font-weight和text-decoration）。<br />设置文本对齐：text-align和float。WAP中float（left,right,none）常用在img和table标签<br />（十）列表属性<br />改变无序列表的图标（list-style-type ）：默认disc，其他值：circle，square，none。可以应用在ul和li元素上。<br />改变有序列表的次序：默认decimal，其他值：upper-alpha（A），lower-alpha（a），upper-raman（I），lower-raman（i），none<br />3.&nbsp; &nbsp;&nbsp;&nbsp;使用图片文件作为小图标：list-style-image: url(bullet.gif) 。注：Openware WAP浏览器本地保存了一些icon，可以使用这些作为小图标，例如：ul {list-style-image: localsrc(&quot;rightarrow1&quot;)} <br />（十）列表属性<br />（十一）颜色属性和border属性<br />设置前景和背景颜色：color、background-color属性。<br />设置border样式：border-style（border-top-style等）属性，值有很多，但只有none和solid被WAP浏览器广泛支持。table {border-style: solid} <br />设置border宽度：border-width（同上）属性，值为数值，还接受thin、medium和thick。注：值设置border-width，border并不可见，必须设置border-style非none值。<br />设置border颜色：border-color（同上）属性。注意点同上。<br />设置border属性的快捷方式：table {border: 2px solid black} <br />&nbsp; &nbsp; &nbsp; &nbsp;顺序自由。<br />（十二）WAP特有的CSS扩展<br />快捷键：-wap-accesskey ，用来指定XHTML MP元素的快捷键。<br />Input：定义文本框是否可以留空，什么类型，可以输入多少字符<br />Marquee：在屏幕上滚动一些内容。<br />（十二.1）WCSS快捷键扩展<br />给元素定义快捷键：-wap-accesskey属性<br />可用的属性值*，#，0，1，2，3，4，5，6，7，8，9<br />&nbsp; &nbsp; &nbsp; &nbsp;input.wcss_class {-wap-accesskey: 4} <br />直接定义*和#违反CSS2语法。需要使用Unicode转义字符\2a和\23。但是有些WAP浏览器（Sony Ericsson WAP 浏览器 ）要求使用\2a 和 \23,一些（Openwave 手机浏览器） 要求使用* 和#。<br />与元素的accesskey属性同效，如同时定义，显示该属性值。<br />只用于四个元素a， input，label，textarea，其他定义也无效。<br />&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />（十二.2）WCSS输入扩展<br />由两个属性组成：-wap-input-famat和-wap-input-required，对应于WML中&lt;input&gt;元素的format（定义类型和字符数量）和emptyok（是否可以留空）属性。<br />早些的移动设备上WAP浏览器不支持，但支持format和emptyok属性作为XHTML MP的扩展。为了更好的兼容性，建议WCSS和WML都使用。<br />&nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;text&quot; format=&quot;N&quot; style='-wap-input-format: &quot;N&quot;'/&gt; <br />控制文本框的类型和字符数量：-wap-input-format。需应用在&lt;input type=&ldquo;text&rdquo;&gt;, &lt;input type=&ldquo;password&rdquo;&gt;和&lt;textarea&gt; 标签上，如应用在其他标签无效。格式字符（大小写敏感）：a（小<br />&nbsp; &nbsp; &nbsp; &nbsp;写字母或符号），A（大写字母或符号），n（数字或符号）<br /><br />（十二.2）WCSS输入扩展<br />N（数字），x（小写字母或数字或符号），X（大写字母或数字或符号），m（任何字符，默认小写字母输入模式，可换大写模式），M（任何字符，默认大写字母输入模式，可换小写模式）。属性值必须包含在引号内，由于部分Openwave 手机浏览器不支持单引号，建议使用双引号（&lt;input type=&ldquo;text&rdquo; style=&lsquo;-wap-input-format: &ldquo;N&rdquo;&rsquo;/&gt; ）<br />&nbsp; &nbsp; &nbsp; &nbsp;-wap-input-format: &ldquo;2N&rdquo; （最多两个数字）&nbsp; &nbsp; -wap-input-format: &ldquo;NN&rdquo; （两个数字）&nbsp; &nbsp;-wap-input-format: &ldquo;*N&rdquo; （无限个数字）<br />&nbsp; &nbsp; &nbsp; &nbsp;-wap-input-format: &ldquo;A*a&rdquo; （第一个大写字母或符号，0-n个小写字母或符号）&nbsp;&nbsp;-wap-input-format :&ldquo;*M&rdquo;（默认）<br />&nbsp; &nbsp; &nbsp; &nbsp;格式字符前使用数字或*的原则：1、只允许一次；2、在最后<br /><br /><br /><br /><br />（十二.2）WCSS输入扩展<br />如果值语法错误，则WAP浏览器忽略该属性。<br />&nbsp; &nbsp; &nbsp; &nbsp;也可以包含转义字符：&rsquo;\&rsquo;在WCSS中是特殊字符，使用&rsquo;\\&rsquo;。<br />控制文本框是否可以留空：-wap-input-required（值为：false和true ），帮助控制文本框是否可以空白。使用元素同上。<br />&nbsp; &nbsp; &nbsp; &nbsp;当-wap-input-format和-wap-input-required冲突时，以required优先。<br /><br /><br /><br />（十二.3）WCSS Marquee扩展<br />可以在屏幕上滚动一些内容（一行文字，一个图片，一个链接等），但一些WAP浏览器只支持滚动文字。当内容超过屏幕时很有用。<br />包含四个属性和一个属性值：-wap-marquee属性值（display属性的值），-wap-marquee-dir属性（指定marquee的方向,值：ltr，rtl-默认），-wap-marquee-loop属性（指定marquee重复的时间，infinite永远，大多数默认为1），-wap-marquee-speed属性（指定marquee的速度，值：slow，normal-默认，fast），-wap-marquee-style（指定marquee在屏幕上如何滚动，有三个值：scroll-默认，slide，alternate）<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />（十二.3）WCSS Marquee扩展<br /><br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />二、WAP2.0设计原则<br />WAP2.0设计原则<br />设计站点前的准备工作<br />&nbsp; &nbsp; &nbsp; &nbsp;界面设计、挑选核心服务、WAP设备特性统计（浏览器等）<br />关注导航模型<br />&nbsp; &nbsp; &nbsp; &nbsp;一致易学的导航模型。简洁精确且快速的信息。尽可能减少输入（考虑选择列表、复选框或单选按钮等。-wap-input-format：*N;避免模式转换。首字母。 ）<br />设计导航层次<br />&nbsp; &nbsp; &nbsp; &nbsp;导航模型一致、少用&lsquo;返回&rsquo;链接、避免深度太深（4-5）、返回首页或目录<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />WAP2.0设计原则<br />考虑小尺寸屏幕的设计<br />&nbsp; &nbsp; &nbsp; &nbsp;确保内容可见、&lt;title&gt;少于14个字符、一致的样式、减少水平滚动、利用对齐属性增加可读性（1-3）、充分利用空间（图文）、避免过多使用文本样式属性、使用短小精确的词语、避免使用过多的颜色并保持一致、不用名字描述颜色。<br />保持较短的文档大小：内存有限，不支持WML的多card，使用锚链接等<br />&nbsp; &nbsp; &nbsp; &nbsp;不要包含长注释、去除缩进或空格、尽量少用id和class<br />6.&nbsp; &nbsp; &nbsp; &nbsp;用户任务流流畅和图片合理使用<br />&nbsp; &nbsp; &nbsp; &nbsp;图片不是用户目的尽少使用、避免使用大表格。<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />WAP2.0设计原则<br />7.&nbsp; &nbsp; &nbsp; &nbsp;页面上提供足够信息<br />&nbsp; &nbsp; &nbsp; &nbsp;首屏常用导航链接、搜索域、登录屏幕和大量信息；上下滚动困难，表单交互要简短。<br />为用户操作提供信息反馈<br />&nbsp; &nbsp; &nbsp; &nbsp;对用户操作、错误和问题情况提供正确的反馈。<br />9.&nbsp; &nbsp; &nbsp; &nbsp;尽可能减少图片数量和减小图像容量大小<br />&nbsp; &nbsp; &nbsp; &nbsp;每张图片都是一个请求，降低页面显示的速度，且内容可能重排序，占用时间和资源，全站规划相同图片。<br />定义图像的高度和宽度属性<br />&nbsp; &nbsp; &nbsp; &nbsp;定义了预占位，改善用户体验，<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<br /><br /><br />WAP2.0设计原则<br />11.&nbsp; &nbsp; &nbsp; &nbsp;谨慎使用表格<br />&nbsp; &nbsp; &nbsp; &nbsp;单元格宽度使用绝对宽度；嵌套层数增加，页面复杂度和处理时间增加；表格边框避免太粗。<br />12.&nbsp; &nbsp; &nbsp; &nbsp;考虑添加样式定义选项<br />&nbsp; &nbsp; &nbsp; &nbsp;权衡！<br />使用Unicode字符编写XHTML MP内容&nbsp; &nbsp; &nbsp; &nbsp;<br />进行可用性测试</p><p>&nbsp;</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090522813.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=127</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=127&amp;key=d9502e4d</trackback:ping></item><item><title>WAP 返回上一页 写法</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090513706.html</link><pubDate>Wed, 13 May 2009 10:35:36 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090513706.html</guid><description><![CDATA[<p>&lt;anchor&gt;&lt;prev/&gt;返回&lt;/anchor&gt;</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090513706.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=126</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=126&amp;key=25566937</trackback:ping></item><item><title>中国移动WAP 2.0业务开发建议</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090507793.html</link><pubDate>Thu, 07 May 2009 18:09:09 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090507793.html</guid><description><![CDATA[<p>1）必须是XHTML格式页面，不能是WML页面<br />这是WAP 2.0与WAP 1.X的根本区别之一。<br />2）必须限定页面大小，建议为5K～10K<br />虽然WAP 2.0协议栈的传输效率要高于WAP 1.X，但为了限制页面下载时间，提高业务可用性，保持良好的用户感受，必须对页面大小进行限定。<br />3）必须是彩色页面，使用图文混排功能<br />图文混排能极大的提高用户界面内操作的数量和方便程度，对于提高用户对于WAP 2.0业务的体验极为有效。<br />4）建议使用BANNAR功能，以方便用户返回到相应层次<br />例如：首页》掌中新闻》今日星闻<br />5）建议使用CSS样式表，来实现终端适配功能<br />对于WAP 2.0业务，终端适配的要求比WAP 1.X更高，而CSS样式表极大方便了SP终端适配的工作。<br />6）对于新闻咨询类应用，建议在使用大量文字时，使用背景色以增强用户感受，并区别于WAP1.X业务。<br />对于新闻咨询类应用，在页面布局上可能与WAP 1.X业务比较类似，都是按条排列，有上下翻页功能。为了区别与WAP 1.X业务，同时使得用户界面更加美观，建议在使用大量文字时，使用背景色以增强用户感受。<br />7）对于图铃下载类应用，建议可以直接点击预览图片来下载相应图片<br />WAP2.0支持图片链接，对于图片下载业务，可以通过直接点击图片的方式来下载图片，以提高页面布局效率。<br />8）对于视频下载类应用，建议对视频文件的长度进行限制，以保证下载成功率<br />对于新的视频下载类应用，应当限制下载文件大小，以提高用户感受。<br />9）对于需要翻页的应用，建议使用&ldquo;最前页&rdquo;&ldquo;下一页&rdquo;&ldquo;上一页&rdquo;&ldquo;最后页&rdquo;等选项，并且尽量排列在同一行上。同时翻页次数不要太多，若超过一定次数，建议分为不同栏目。<br />新闻咨询、图铃下载等业务都大量的使用到了翻页功能，为了提高页面效率和用户感受，建议将翻页选项放在同一行上，同时翻页次数不要过多，限制在5次之内比较合适。<br />10）对于游戏类应用，建议尽量使用小GIF图片来实现相关操作以增加游戏趣味性，以及页面布局效果。</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090507793.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=125</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=125&amp;key=aaf3a858</trackback:ping></item><item><title>wap文本框缓存清除解决办法</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/asp-wap-huanchun.html</link><pubDate>Thu, 30 Apr 2009 09:55:12 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/asp-wap-huanchun.html</guid><description><![CDATA[<p>由于手机浏览器缓存的问题，我们会发现在<a target="_blank" href="http://www.hzwap.net">WAP</a>中修改记录点进去时候仍然是上一条记录信息，也就是缓存信息，比方说修改新闻，修改个人资料等。本人在网上找了很多资料，如有网友提出 加一个禁止缓存代码，如下</p><p>&lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache&quot;/&gt;&lt;!-- 禁止浏览器从缓存中访问页面内容 --&gt;<br />&lt;meta http-equiv=&quot;Expires&quot;&nbsp;&nbsp; content=&quot;0&quot;/&gt;&nbsp;&nbsp; <br />&lt;meta http-equiv=&quot;Pragma&quot;&nbsp;&nbsp; content=&quot;no-cache&quot;/&gt;&nbsp;&nbsp;</p><p>但是在实际测试过程中，仍然没用。</p><p>经过一番思考，想到了一个解决方法，就是将每次修改记录的表单里面的文本框等名字变不同，即可。那样也无所谓缓存了，通过这个思路，下面以ASP为例子给大家提供一个简单说明：</p><p>我们要修改记录，常规做法都是链接后面 company_myinfo_mod.asp?ID=40&nbsp; 通过ID变量告知要修改的记录</p><p>设置ID=request.QueryString(&quot;ID&quot;)</p><p>文本框的名称name设置为：name=&quot;title&lt;%=ID%&gt;&quot;<br />提交处：&lt;postfield name=&quot;title&quot; value=&quot;$title&lt;%=ID%&gt;&quot;/&gt;<br />这样每次修改进去，由于表单名称都不同，因此就会读取最新记录，而不是缓存信息！<br />作者：陈洋 <a target="_blank" href="http://www.hzzhit.com">杭州兆合信息技术有限公司</a></p><p>&nbsp;</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/asp-wap-huanchun.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=124</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=124&amp;key=191e336f</trackback:ping></item><item><title>WML-图片规范</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090429159.html</link><pubDate>Wed, 29 Apr 2009 20:45:56 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090429159.html</guid><description><![CDATA[<p>&nbsp;</p><div style="layout-grid-mode: char; line-height: 18.7pt"><strong>显示图片</strong></div><div style="layout-grid-mode: char; line-height: 18.7pt">　　显示图片(1位黑白BMP图片)的标签一样类似于HTML，&lt;img alt=&quot;text&quot; src=&quot;/blog/url&quot;</div><div style="layout-grid-mode: char; line-height: 18.7pt">localsrc=&quot;/blog/icon&quot; align=&quot;left&quot; height=&quot;n&quot; width=&quot;n&quot; vspace=&quot;n&quot; hspace=&quot;n&quot;/&gt;，属</div><div style="layout-grid-mode: char; line-height: 18.7pt">性中alt和src是必须要有的，其他可选。另外要注意的是&lt;img&gt;要放在&lt;p&gt;里，不能放在</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;do&gt;和&lt;option&gt;等功能健标签和选单标签里。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　*alt属性用来指定当手机不支持图片显示时用来显示的文字。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　*src属性指定图片的URL，但当有了以下的localsrc属性时，手机浏览器就忽略src</div><div style="layout-grid-mode: char; line-height: 18.7pt">属性。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　*localsrc属性用来指定显示存在手机ROM中的图标，如果找不到，则到UP.Link Se</div><div style="layout-grid-mode: char; line-height: 18.7pt">rver上去找。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　*可选的align属性用来表明图片同当前行文本的对齐方式，默认值为bottom，可选</div><div style="layout-grid-mode: char; line-height: 18.7pt">to和middle。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　*height、width、vspace、hspace属性分别指定图片的长宽和距环绕文字的间距，</div><div style="layout-grid-mode: char; line-height: 18.7pt">目前不是所有的WAP手机都支持这些属性。</div><div style="layout-grid-mode: char; line-height: 18.7pt">test2.wml</div><div style="layout-grid-mode: char; line-height: 18.7pt">---------------</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;?xml version=&quot;1.0&quot;?&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;!DOCTYPE wml PUBLIC &quot;-//WAPFORUM//DTD WML 1.1//EN&quot; &quot;http://www.wapforum.org</div><div style="layout-grid-mode: char; line-height: 18.7pt">/DTD/wml_1.1.xml&quot;&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;wml&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;card&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;p align=&quot;center&quot;&gt;&lt;img alt=&quot;:)&quot; src=&quot;/blog/xxx.bmp&quot; localsrc=&quot;/blog/smileyface&quot;/&gt;&lt;/p&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/card&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/wml&gt;</div>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090429159.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=123</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=123&amp;key=1539f739</trackback:ping></item><item><title>WML- 文本规范</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090429607.html</link><pubDate>Wed, 29 Apr 2009 20:38:13 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090429607.html</guid><description><![CDATA[<p>在文本的显示上WML基本和HTML相同。文字段落包含在&lt;p align= &quot;alignment&quot; mode=&quot; wrapmode&quot;&gt;和&lt;/p&gt;之间，align属性指定该段文字的对齐方式，默认的是left，其他可选择right和center；mode属性指定当一行显示不下所有的文字时是否自动换行，默认的是自动换行wrap，如果选nowrap，则在一行中显示，浏览器会通过类似于水平滚动条的机制来显示所有文字。</p><div style="layout-grid-mode: char; line-height: 18.7pt">　　换行标签也一样为&lt;br/&gt;，这里先替一下，在标单中如果有多个&lt;input&gt;或者&lt;select&gt;，其间不要用&lt;br/&gt;，否则会使手机浏览器认为是断点而把表单分页显示。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　文字的修饰标签有&lt;b&gt;、&lt;i&gt;、&lt;u&gt;、&lt;em&gt;、&lt;strong&gt;、&lt;big&gt;和&lt;small&gt;，意义和HTML里的相同。</div><div style="layout-grid-mode: char; line-height: 18.7pt">　　表格的显示标签也和HTML相近，使用&lt;table title=&quot;name&quot; align=&quot;left|right|center&quot; columns=&quot;列数&quot;&gt;、&lt;tr&gt;和&lt;td&gt;来显示，&lt;table&gt;的title属性用来给表格取个名字，columns属性指定表的列数，不能为0，可选的align属性和前面提到的一样是对齐方式。表格中可以包含文字和图片。</div><div style="layout-grid-mode: char; line-height: 18.7pt">&nbsp;</div><div style="layout-grid-mode: char; line-height: 18.7pt">test1.wml</div><div style="layout-grid-mode: char; line-height: 18.7pt">--------------</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;?xml version=&quot;1.0&quot;?&gt;</div><div style="layout-grid-mode: char; line-height: 15.55pt"><span style="font-size: 8.5pt">&lt;!DOCTYPE wml PUBLIC &quot;-//WAPFORUM//DTD WML 1.1//EN&quot; &quot;http://www.wapforum.org/DTD/wml_1.1.xml&quot;&gt;</span></div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;wml&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;card&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;p align=&quot;center&quot;&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;i&gt;Hello&lt;/i&gt;&lt;br/&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;b&gt;&lt;i&gt;World!&lt;/i&gt;&lt;/b&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;table title=&quot;mytable&quot; align=&quot;right&quot; columns=&quot;2&quot;&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;tr&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;td&gt;1-1&lt;/td&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;td&gt;1-2&lt;/td&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/tr&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;tr&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;td&gt;2-1&lt;/td&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;td&gt;2-2&lt;/td&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/tr&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/table&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/p&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/card&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&lt;/wml&gt;</div><div style="layout-grid-mode: char; line-height: 18.7pt">&nbsp;</div>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090429607.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=122</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=122&amp;key=bd7ad89f</trackback:ping></item><item><title>WAP开发的特殊字符对照</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090428416.html</link><pubDate>Tue, 28 Apr 2009 20:03:26 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090428416.html</guid><description><![CDATA[<p>字符　　　　　　　指定方式<br />&lt;　　　　　　　　　　&amp;lt;<br />&gt;　　　　　　　　　　&amp;gt;<br />&lsquo;　　　　　　　　　　&amp;apos;<br />&quot;　　　　　　　　　　&amp;quot;<br />&amp;　　　　　　　　　　&amp;amp;<br />$　　　　　　　　　　$$<br />连续空格　　　　　　　&amp;nbsp;<br />-　　　　　　　　　　&amp;shy;<br /><br />分号是字符标签的一个部分，不能省略。如果省略了，将可能会造成WML编译器错误。<br />注意：与HTML不同的是，当在URL中使用&amp;的时候必须使用&amp;amp;来代替字符&amp;。</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090428416.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=121</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=121&amp;key=f75a2760</trackback:ping></item><item><title>wap中新闻的图文混排</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090428901.html</link><pubDate>Tue, 28 Apr 2009 18:30:43 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090428901.html</guid><description><![CDATA[<p><font size="3">Wap开发中，图片和文字混排，可以采用ubb编码，原理就是自己定义一共特殊的格式，采用mid和replace函数进行转换。比如定义<img onload="ResizeImage(this,520)" src="[/img],表示图片的开始和结束。<br />但是要注意，web和wap中的区分。进行以下替换 string1all = Replace(string1all,&quot;[img]&quot;,&quot;&lt;/p&gt;&lt;p align=&quot;&quot;center&quot;&quot;&gt;&lt;img src=&quot;&quot;../img/&quot;)<br />string1all = Replace(string1all,&quot;" alt="" title=""/>&quot;,&quot; &quot;&quot; alt=&quot;&quot;&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;&quot;)<br /><br />会使得图片居中显示。</font><br /><br />&nbsp;</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090428901.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=114</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=114&amp;key=c00e71d4</trackback:ping></item><item><title>解决WAP下ASP传递数据乱码问题</title><author>shine19@sohu.com (shine)</author><link>http://www.hzwap.net/WAP-TECH/20090413300.html</link><pubDate>Mon, 13 Apr 2009 15:07:35 +0800</pubDate><guid>http://www.hzwap.net/WAP-TECH/20090413300.html</guid><description><![CDATA[<p>大家在用ASP写WAP程序时经常会出现乱码，特别是在通过ASP传递数据时常常会出错，因为IIS传递的中文为UTF-8,很多WAP网关也默认的中文格式为UTF-8，然而早期的wml+ASP教程使用的DTD文件头时都是用GB2312格式。这就造成了出现乱码的情形。<br /><br />&nbsp;&nbsp;&nbsp; 笔者经过研究，发现如果采用以下DTD文件声明就可以解决该问题了：<br /><br />&nbsp;&nbsp;&nbsp; &lt;%@LANGUAGE=&quot;VBSCRIPT&quot; CODEPAGE=&quot;65001&quot;%&gt;<br />&nbsp;&nbsp;&nbsp; &lt;% Response.ContentType=&quot;text/vnd.wap.wml;charset=UTF-8&quot; %&gt;<br />&nbsp;&nbsp;&nbsp; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!DOCTYPE wml PUBLIC &quot;-//WAPFORUM//DTD WML 1.1//EN&quot; <br />&nbsp;&nbsp;&nbsp; &quot;http://www.wapfourm.org/DTD/wml_1.1.xml&quot;&gt;<br /><br />&nbsp;&nbsp;&nbsp; 注意：用记事本或UE打开ASP文件，保存格式选择UTF-8类型即可！</p><p>另外在HEAD部分 &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;/&gt;</p>]]></description><category>WAP开发</category><comments>http://www.hzwap.net/WAP-TECH/20090413300.html#comment</comments><wfw:comment>http://www.hzwap.net/</wfw:comment><wfw:commentRss>http://www.hzwap.net/feed.asp?cmt=111</wfw:commentRss><trackback:ping>http://www.hzwap.net/cmd.asp?act=tb&amp;id=111&amp;key=875f6f0a</trackback:ping></item></channel></rss>
