CSDN博客

img taling

设计面向IE for Pocket PC的Web站点(转载)

发表于2004/9/16 0:02:00  1523人阅读

  Pocket PC最引人注目的新特性之一,就是为其专门设计的Internet Explorer Web浏览器(以下称为Pocket Internet Explorer)。Pocket Internet Explorer不但使Pocket PC的所有者能够以在线方式浏览Web内容,同时,还允许与Web页面保持同步以实现脱机浏览。在所有手持设备中,Pocket Internet Explorer是第一款支持该功能的产品。
  Microsoft公司Jim Floyd和Joseph Kirk Ollis摘录


  
本文档所含信息仅代表Microsoft Corporation(微软公司)在信息发布当日就文档述及问题所持的观点。由于Microsoft公司必须针对日新月异的市场条件做出反应,因此,有关信息不应被理解为Microsoft公司所做出的某种承诺,同时,Microsoft公司亦不对发布之日后所提供信息的精确性做出任何保证。

  本文档仅供参考。MICROSOFT并未在本文档中做出任何公开或暗示形式的保证。
BackOffice徽标、Microsoft、Windows及Windows NT均为Microsoft公司在美国和其他国家的注册商标或商标。

  而在此所提及的其它产品或公司名称亦均属于其各自所有者的商标。

  Microsoft Corporation,One Microsoft Way,Redmond,WA 98052-6399,USA


  POCKET INTERNET EXPLORER简介

  欢迎进入Pocket Internet Explorer的世界!

  随着Pocket PC的正式发布,Microsoft公司的Pocket Internet Explorer也为所有同类袖珍设备提供了最为丰富的Web体验。

  Pocket PC可显示复杂内容。Pocket PC根据型别不同具有最少4,096种、最多65,535种颜色,以及最低4级、最高16级的灰度。

  Pocket Internet Explorer已将关键的Internet技术标准付诸实施:HTML 3.2、面向安全事务处理的Secure Sockets Layer(加密套接字协议层,SSL)2.0和3.0版、针对Web页面行为的Microsoft Jscript、访问者跟踪信息和更易于返回需要提供用户身份验证站点的用户及格式化框架等。

  Pocket Internet Explorer甚至可为已存在于Pocket PC之上的ActiveX控件提供支持。

  Pocket Internet Explorer支持XML(扩展标记语言)这一关键性技术,从而,使人们能够以更轻松的方式将商用Internet应用程序部署到Pocket PC上。

  针对Pocket PC研发的Pocket Internet Explorer提供了若干种将Web内容引入小型屏幕创新方式,它们包括:

“收缩匹配”这种自适应调整功能可动态地将Web站点以最大可视方式显示于Pocket PC所特有的小巧而狭长的屏幕中。
自动状态侦测功能可就设备是否处于Internet连接状态进行自动判断;如果设备未与Internet相连接,则以无缝方式将浏览器转移到先前存储的Web页面上。
  Pocket Internet Explorer拥有独一无二的设计,并实现了Internet Explorer 3.02(HTML引擎)、Internet Explorer 4.0(脚本引擎)和Internet Explorer 5.0(XML引擎)三者的优化组合。有鉴于此,我们编写了这份白皮书,以帮助Web站点设计人员针对Pocket Internet Explorer来对其站点实施优化。

  在服务器上对POCKET INTERNET EXPLORER进行侦测

  在开始为Pocket Internet Explorer设计Web页面之前,我们必须考虑到一个至关重要的问题。

  Web服务器如何对Pocket PC是否与站点相连接加以判断?

  如果你正在使用Microsoft Internet Information Services 4.0及其后续版本,便会在/WINNT/system32/inetsrv目录下发现一个名为BROWSCAP.INI的文件。该文件包含了关于所有已知浏览器的描述信息,而这些信息则是在你安装最新服务软件包时生成的。

  以下是你必须添加到BROWSCAP.INI文件中的Pocket Internet Explorer描述信息:

; Pocket PC (aka Rapier)
[Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)]
browser=Pocket IE
version=4.0
majorver=#4
minorver=#0
platform=Windows CE
width=240
height=320
cookies=TRUE
frames=TRUE
backgroundsounds=TRUE
javaapplets=FALSE
javascript=TRUE
vbscript=FALSE
tables=TRUE
activexcontrols=TRUE



Pocket Internet Explorer实际上是Internet Explorer 3.02(HTML)、Internet Explorer 4.0(Scripting)和Internet Explorer 5.0(XML)所含组件的混合体。而这正是该产品被认定为Microsoft Internet Explorer 3.02的原因所在,尽管它在内部属性中使用了4.0的版本号。

  当Pocket Internet Explorer向HTTP服务器发出一个请求时,会将下列特定信息包含于相应的HTTP请求标题之中:

UA-pixels: {i.e. 240x320}
UA-color: {mono2 | mono4 | color8 | color16 | color24 | color32}
UA-OS: {Windows CE (POCKET PC) - Version 3.0}
UA-CPU = {i.e. MIPS R4111}



  通过使用下列服务器端脚本行,可确保系统在Pocket Internet Explorer进入站点的一瞬间迅速为其生成特殊优化页面:

'Check for Windows CE (Pocket PC, Palm-size PC, Handheld PC, Handheld PC Pro)
if (InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Windows CE")) then
{ add Windows CE specific code }
else
{ add code for other platforms }
end if
'Check for Pocket PC
if (InStr(Request.ServerVariables("HTTP_UA_OS"), "POCKET PC")) then
{ add Pocket PC specific code }
else
{ add code for other platforms }
end if


  通过使用下列代码可确定Pocket Internet Explorer是否正在使用客户端脚本(Jscript):

var strNav = navigator.userAgent;
// Check for Windows CE (Pocket PC, Palm-size PC, Handheld PC, Handheld PC Pro)
var isCE = strNav.indexOf("Windows CE");
if(isCE > -1) {
//add Windows CE specific code
}
else {
//add code for other platforms
}
// Check for Pocket PC
var isPPC = strNav.indexOf("240x320");
if(isPPC > -1) {
// add Pocket PC specific code
}
else {
// add code for other platforms

}



  [b]可获得支持的HTML标记


  除了个别的例外情况,Pocket Internet Explorer与HTML 3.2基本兼容。所以,按此标准定义的全部HTML标记均可显示于Pocket Internet Explorer之中。以下罗列了一些Web设计人员所必须考虑到的限制条件和技术问题:

DHTML不受支持
框架总是拥有边界并且一直处于被调整的状态
CSS不受支持
  这里提供了一些针对Pocket Internet Explorer使用HTML标记的通用原则:

  ·通用标记问题

  标记中TARGET属性的相关问题

  Pocket Internet Explorer无法派生出多个窗体。因此,如果你在标记中使用“target=_new”的话,Pocket Internet Explorer将无法打开第二个窗体,而这一点则是你在使用台式计算机时完全可以做到的。你可以使用“target”属性来指向一个已命名的框架。 标记也同样支持该属性。使用任何其它特定目标(亦即“target=_new”或“target=foo”)都将导致Pocket Internet Explorer产生与在根本未指定任何目标的情况下相同的行为。

  Pocket Internet Explorer不仅不支持_top和_parent属性,同时,也不支持_self和_blank属性。而如果目标是现存已命名框架或受支持特定值以外的什么东西,有关情况则会与TARGET属性被彻底忽略时完全一致。在这种情况下,浏览器将导航至被点击链接所指向的框架或窗体。

  浏览器同样支持AREA、BASE及FORM标记上的TARGET属性。

  ·字体

  Pocket PC提供以下四种字体:

Tahoma(针对变宽字体的缺省字体)
Bookdings
Frutiger Linotype
Courier(针对定宽字体的缺省字体)
  其它全部字体均可根据字体描述信息按相似性原则被转换为上述四种字体。而针对任何定宽度内容使用标记的做法均可达到确保Pocket Internet Explorer选取正确定宽字体的目标。
框架

  框架往往会占据大量的屏幕空间,而这种消耗仅仅是为了标定对象的边缘,因此,我们一般情况下并不主张在针对Pocket Internet Explorer所进行的设计工作中使用它。而如果你真的不得不使用框架的话,请最好将其数量控制在不超过每屏两个的范围之内。

  ·匹配标记

  以HTML标记正确匹配的方式进行页面设计。

  例如:

  错误的方式: ?

  错误的方式: ?

  不正确的匹配将导致Pocket Internet Explorer出现不可预料的后果。

  ·BGSOUND属性

  Pocket Internet Explorer支持背景声音,该功能可为网页提供非常“酷”的特殊效果。当然,Pocket Internet Explorer仅支持WAV文件,而此类文件往往需要占用大量的存储空间。为此,请适度地使用音响效果,并将其负面影响控制在最小范围之内。此外,由于Pocket Internet Explorer不支持LOOP属性,因此,你将无法创建或使用持续性背景音效。

  
·表单字段和按钮

  ·文本字段与文本区域


  Pocket Internet Explorer可显示文本字段和文本区域的宽度受Pocket PC屏幕宽度的限制。用户有时需要将屏幕横向滚动以便能看到文本字段,但文本字段总能保证被完全显示于屏幕范围之内。如果你必须使用文本字段并希望获得简洁明快的良好效果,那么,从设计伊始就应按照不超过Pocket PC屏幕宽度的原则进行处理。请注意将长字段及其它区域置于行的起始部分。

  ·按钮

  按钮是一种矩形图形对象,该对象被点击后会触发执行一定的活动,而我们通常使用与上述活动相关的描述文字对按钮进行命名。多数情况下,按钮通常被命名为“提交”或“取消”。按钮一般遵循文本流程并可随页面进行滚动。而在理想状况下,按钮则应以一致相容的方式进行设计和放置,这种原则在特定页面和跨页情况下均同样适用。屏幕空间所能容纳的按钮数量是有限的,因此,请对放置在屏幕上的按钮谨慎取舍,切忌滥用。除非在AvantGo同步功能处于使用状态的情况下,按钮将无法以脱机方式提交任何表单。

  某些事件可由定制事件句柄捕捉,而按钮则用来对这些事件执行触发操作。定制事件句柄通常以脱机方式工作。正如上文中关于文本字段部分所提到的那样,按钮和文本区域的显示范围不得超出Pocket PC的屏幕宽度。

  ·表格

  通过表格显示数据大大改善了用户浏览数据的方式。使用WIDTH属性可以设置表格在窗口中的尺寸。在WIDTH属性中设置像素值是控制表格尺寸的最佳方式。此外,Pocket Internet Explorer支持嵌套表格。

  如果省略WIDTH属性,表格将根据下列规则进行绘制:

若“Fit to Screen”选项被选中,表格将根据屏幕宽度自动调整。
若“Fit to Screen”选项未被选中,Pocket Internet Explorer将采用640x480的虚拟屏幕并以640像素的宽度绘制表格。
  由此可见,除非对表格或单元格宽度有特殊要求,否则应省略宽度值。标记支持ALIGN属性,标记则不支持该属性。

  ·图形与图像

  图形与图像能够增强页面对用户的吸引力,但在应用过程中,应符合少而精的原则,尽量在能够为用户提供增值时使用。

  如果要显示大于工作区的图像,Pocket Internet Explorer将遵循下列规则:

如果“Fit to screen”选项被关闭,Pocket Internet Explorer将根据标记中的设置显示图像,即按照“height”和“width”属性值或图像原始尺寸(如果未设置“height”和“width”属性)显示图像。
如果“Fit to screen”选项处于开启状态:
图像小于屏幕宽度时,根据标记中的设置显示图像.
图像宽度大于屏幕宽度时,图像将根据屏幕尺寸进行调整,但调整后的图像尺寸不会小于原始尺寸的1/2。
  缩放操作通常会降低图像质量,因此,应尽量避免图像宽度大于浏览区域最小宽度的情况。

 ·图像细节

  避免使用大型复杂图像是一种明智的做法,因为缩放操作很可能略去图像中的关键信息。如果通过某种便捷方式无需使用图像便可传达相同信息,那么最好放弃使用图像。如果必须使用复杂图像,也应对其进行裁剪以达到预期效果。

  ·图像颜色

  Pocket Internet Explorer能在彩色监视器上显示彩色图像。在灰度或单色显示设备上,Pocket Internet Explorer将彩色图像转换为黑白图像。图像的原始色彩设计将直接影响Pocket Internet Explorer在灰度或单色设备上显示该图像的效果。那些具有高对比度且边界分明的图像将得到最佳处理。

  ·设计图像

  对于移动设备,最简单且最具代表性的图像使用方式是创建具备自身风格的小型位图图像,同时,注意节省屏幕空间。复杂元素往往使人感到凌乱,因此,应选用简洁明快的线条及形状设计图像。最佳效果来源于简洁而非混乱。

  ·替代文字标记

  用户可能会选择不加载图像,因此,在嵌入图像的位置上放置起说明作用的替代文字非常重要。请记住,你要做的是解释图像所代表的功能,而不是对图像进行描述。

  ·图像地图

  Pocket Internet Explorer不支持图像地图。请尽可能将图像尺寸控制在最小范围内。此外,网页上的图像应能向用户暗示正确的功能。

  ·GIF动画

  Pocket Internet Explorer不支持GIF动画。只有GIF动画的第一帧能够展现给用户,组成动画的其余各帧仍将保存在设备上并占用宝贵的存储空间。
通用原则、提示与技巧

  以下是一些关于如何针对Pocket Internet Explorer进行设计的通用原则

  请记住:Pocket PC的屏幕尺寸是有限的

  设计应用程序时应尽可能保持较小的屏幕尺寸。虽然可以使用垂直及水平滚动条,还是应尽可能将信息调整到一个页面上。

  Pocket Internet Explorer理论分辨率为240x320,但实际可用空间不能达到这一范围

  所有Pocket PC屏幕分辨率均为240x320。然而,Pocket PC用户界面上定义了两个浏览器不能使用的区域。

位于屏幕底部的菜单栏
位于屏幕顶部的标题栏
  这两栏信息占据了垂直分辨率中的26个像素。因此,如果想为Pocket PC设计出仅占一屏的页面,则该页面尺寸不得超过240x268。一旦页面高度超过268像素,垂直滚动条将自动出现并使屏幕宽度减少为229像素。此外,用户可以通过关闭地址栏提供另外23像素的垂直空间。然而,由于页面本身不能决定地址栏状态,因此,不能将地址栏高度计算在内。

  此时,如果使用240像素的水平空间,水平滚动条也将出现,这是因为Pocket Internet Explorer需要11个像素来显示业已出现的垂直滚动条。

  若以某种方式设计无需水平滚动条的页面,将能获得另外11像素的垂直空间。下图显示了Pocket Internet Explorer屏幕中各组件的像素范围:


Pocket Internet Explorer屏幕尺寸

  脱机浏览:Pocket Internet Explorer的重要实施方案

  在Mobile Favorites(移动收藏夹)中,除非用户将链接深度设置为大于1,否则超链接在脱机状态下将不可用。因此,应尽可能少的使用远程超链接,同时仅向用户提供那些最重要的信息。应将页面设计为在链接断开状态下仍能正常工作。链接深度为n意味着“下载选定页面以及从选定页面开始经过n层链接能够到达的所有页面”。

  页面不能动态改变

  Pocket Internet Explorer不支持DHTML,因此,页面中的所有内容都是静态的。可以使用XML、XSL、JScript以及document.write方法实现某些页面的动态更新。

  功能特性越齐全未必意味着性能表现越优异

  应仅使用那些必要的特性。过多功能将使设备产生不必要的过载。

  通过GIF文件添加空格

  有时,你会发现很难向页面中添加所需数量的空格。如果遇到这种问题,可以通过透明图像在页面元素间精确插入空格。首先,创建尺寸为1x1像素的透明GIF文件并通过标记将其嵌入到文档中。此后,使用“width”和“height”属性将图像扩大到所需尺寸。

  使用“间隔符”GIF文件的目的之一是强制标题后的断行。例如,假设某文章标题后紧跟一个属性行,你或许不希望通过标题标记或标记添加精确空格。此时,可以强制断行并通过前面提到的方法简单插入一些透明像素。同时,将图像尺寸指定为宽240像素、高1像素。

  图像中的文字

  通过在图像中包含文字可以轻而易举的在页面上显示Pocket Internet Explorer HTML所不支持的字体,从而达到装饰页面的目的。

  若要在图像中放置文字,通常需要选用专为计算机屏幕设计的字体。目前,有几种优秀1位字体可供选择。其中,Verdana字体适用于各种分辨率的位图显示。因此,它非常适合在移动设备上使用。

  但请记住,放置在位图中的任何文字均不能在目前的搜索引擎(如AltaVista或Yahoo)上建立索引。

  使用Office 2000作为Web创作工具

  在四个Office应用程序(Access 2000、Excel 2000、PowerPoint 2000及Word 2000)中,只有PowerPoint 2000在显示页面前对浏览器版本进行检查。在提交页面时,它将通知用户此页面在当前浏览器中或许不能正确显示。多数情况下,由上述Office程序产生的简单文档能够正确显示,但稍微加入一些复杂特性后便会导致问题。

  简而言之,最好不要使用Office 2000为for Pocket Internet Explorer创作页面。

为电子商务提供最佳性能

  个性化页面

  个性化内容将对人们使用Web的方式产生巨大影响。允许用户将所需内容从你的Web页面加入到自己的页面将大大提高站点的交互性。你可能已经在Web站点上提供了类似功能。例如,在基本天气信息中加入证券一览表、城市列表等等。此外,由于脱机内容将存储在用户的桌面系统中,因此,必须支持cookie功能。

  要在Pocket Internet Explorer中实现个性化以提高交互性,可以向所提供的内容中加入专用的Pocket Internet Explorer配置。但请记住,用户一般需要两种配置:一种用于Pocket PC;另一种用于台式计算机。

  广告

  在Web页面中放置广告已成为一种普遍做法。对于某些公司来说,销售广告空间已成为Web站点的主要收入来源。然而,由于站点上的内容可能会在Pocket Internet Explorer中脱机浏览,因此,没有一种方法能够帮助Web站点所有者准确统计出广告点击次数。

  广告条还经常被链接到相关公司的主页上。通常,这种做法对用户没有多大帮助,这是因为:除非Pocket PC用户在同步过程中选择的链接深度大于1并且允许链接到当前页面所在站点以外的其它站点,否则,相关公司的主页将不能脱机浏览。请记住,页面中的重要部分应当是那些对用户有价值的内容,而不是广告。

  页眉

  西方读者的视线习惯于从屏幕左上角开始逐渐移至屏幕右下角。因此,应当将最重要的信息--如标题或公司徽标--放置在屏幕左上角;将相关信息及链接放置在页面底部。

  典型情况下,页面的前几行包含一些关于公司或内容提供者的信息性文字。这一区域应当加以有效利用,以便与客户进行沟通并为公司建立可靠信誉。此外,该区域还可以包含小型广告。

  将表单宽度设定在240像素内

  正如HTML标记一节中提到的那样,Pocket Internet Explorer页面的最大宽度为240像素。

  像 或 这样的表单元素将不会因选中Pocket Internet Explorer的根据窗口自动调整选项而自动收缩,并且屏幕宽度以外的部分将不会显示。对于电子商务客户来说,在输入信用卡信息或处理购物车时不得以而进行横向滚动是非常令人恼火的。

设计电子商务表单

  设计表单时应牢记屏幕宽度为240像素。输入控件应放置在不同行上,以避免不必要的滚动。各个域应限制在小型屏幕区域内。如果需要显示客户选定的产品图像,应将相关描述文字放置在图像下放而非后部。

  为信息站点提供最佳性能

  除为电子商务站点提供最佳性能所需注意的问题外,在设计信息站点时,还需注意其它一些要点:

  信息站点应支持脱机浏览

  避免使用那些不支持脱机工作的元素,如表单域、大位图、GIF动画或过多的广告。许多新的信息站点要求对指定文章给予简短反馈。由于需要向服务器发回信息,脱机用户将不能使用这项功能。然而,Pocket PC支持在脱机状态下发送电子邮件消息,因此,可以在页面中加入mailto链接。

  将精力集中在实质性内容上

  不要显示那些Pocket Internet Explorer用户不大可能浏览的链接,如视频/音频链接或大型图片的幻灯显示。

  在相互链接的页面间使用内容表格页面

  许多新的信息站点创建包含文章简介的页面,并且通过一个位于页面底部名为“点击此处阅读更多信息”的链接指向文章的完整内容。这种方式在针对Pocket Internet Explorer的脱机实施方案中并不十分有效。大多数用户通常不会在Mobile Favorites(移动收藏夹)中改变链接深度。事实上,他们会保持缺省值(0)。在过后的旅途中,当他们试图点击这样的链接来阅读文章时,会导致“页面不可用”错误。此外,即便用户想阅读整篇文章也很难确定实际使用过程中应当设定的链接深度。

  为避免发生上述情况,可以创建简短的介绍性页面,并在该页面中包含指向所有文章的链接。这种方式仍需要用户将链接深度改为“1”,但它使整个过程对用户来说更为清晰。可以在该页面中加入提示以告知用户在同步选项中应设置的链接深度。

  编写脚本

  随着复杂Web应用的重要性不断增加,编写客户端脚本变得越来越流行。

  Pocket Internet Explorer支持客户端JavaScript 1.1(ECMA-262)。但不支持VBScript。依照惯例,Pocket Internet Explorer支持Internet Explorer 3.02 DOM(文档对象模型)。

  以下是一些在Pocket Internet Explorer中编写脚本时需要指出的问题:

  脚本错误缺省情况下处于关闭状态

  JScript中的语法错误、缺少对象或其它JScript错误在Pocket Internet Explorer中将被忽略。相应脚本将在没有任何提示的情况下终止。添加以下注册表键可以启用错误消息。


  [HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main]
"ShowScriptErrors"=dword:00000001

  Pocket Internet Explorer中的JScript不区分大小写

  Internet Explorer 4.0及5.0中JScript是区分大小写的。你或许想知道为何同一脚本在Pocket Internet Explorer上能够正确运行,而在台式计算机的Internet Explorer上却导致错误,这很可能是因为脚本在访问对象属性、方法、事件或集合时没有正确区分大小写。在此,作者强烈建议在编写JScript时正确区分大小写,这样做既能确保广泛兼容性,同时也便于进行调试。

  无window.open函数

  Pocket Internet Explorer不支持多窗口。对window.open的调用将以失败告终并不产生任何响应(如果脚本错误处于关闭状态)。

  对标记的限制

  Pocket Internet Explorer支持ActiveX控件,并且允许使用相应方法和属性编写脚本。然而,与台式计算机相比,存在如下一些限制:

  控件不能以在线方式安装

  针对台式计算机的Internet Explorer支持下载并安装ActiveX控件。Pocket PC则不支持这种方式。然而,已存在于Pocket PC上的ActiveX控件可以在页面中的标记内引用。

  ActiveX控件不受Fit to Screen(根据屏幕自动调整)选项影响

  即便Fit to screen选项已被选中并且ActiveX控件本身已根据屏幕区域进行了调整,控件内容尺寸仍不会相应的进行调整。如果要创建在Pocket Internet Explorer Web页面上使用的ActiveX控件,请确保将客户端显示区域设计在240像素以内。

  不支持Java applet

  Pocket PC上不存在Java Virtual Machine(Java虚拟机),因此不支持Java applet。

  安全性

  Pocket Internet Explorer支持所有通用安全方案:

SSL 2.0、SSL 3.0以及Server Gate Cryptography(SGC)。
Pocket Internet Explorer缺省情况下支持40位安全密码。
支持NTLM认证和明文认证方式。
  XML支持

  Pocket Internet Explorer的最新组件之一是MSXML.DLL,它是一个可在Pocket PC上使用的Internet Explorer 5.0组件。

  该组件允许Pocket Internet Explorer在标准XML语法着色视图中显示XML,这种功能已在台式计算机上得到了广泛应用。同时,它还允许使用XSL(扩展样式表语言)以更为友好的方式显示XML数据。

  与Microsoft Internet Explorer 5中MSXML的区别

  Microsoft XML for Pocket PC与Microsoft Internet Explorer 5中的相应功能几乎完全相同。然而,在Pocket PC上,并未对某些功能提供支持。

  未提供对IE4 MSXML DOM的向后兼容性

  MSXML for Microsoft Internet Explorer 5包含对Microsoft Internet Explorer 4中XML DOM进行模拟的功能。为降低内存需求和ROM容量,MSXML for Pocket PC不包含此项功能。

  不支持数据绑定

  Pocket Internet Explorer及MSXML for Pocket PC均不支持Data Binding。对Data Binding的支持需要复杂的HTML布局基础提供支持。

  小心CSS属性

  请记住,Pocket Internet Explorer不支持CSS。请仔细查看您所创建的XSL转换并确保其中不含CSS元素或属性。尤其要注意在HTML标记中谨慎使用STYLE属性。

  XML解析器接口

  你还可以针对C++或Visual Basic应用程序使用Microsoft XML Parser。

  如何在嵌入式 Viusal C++中使用XMLDOM

  为了在eMbedded Visual C++应用程序中访问XMLDOM,可以通过下列语句导入Pocket PC Emulator(Pocket PC模拟器)的MSXMLM.DLL:

#import </Windows CE Tools/wce300/MS Pocket
PC/emulation/palm300/windows/msxmlm.dll> raw_interfaces_only
using namespace MSXML;
void __stdcall _com_issue_error(HRESULT hr)
{
// Error handling goes here
}



  “raw_interfaces_only”属性十分重要,如果没有它,“msxmlm.tlh”文件将产生大量错误。该属性仅创建在C++应用程序中使用的低级接口描述。为避免连接器错误,使用“com_issue_error()”函数是非常必要的。

  此处是一个XML代码的小型示例:

IXMLDOMDocumentPtr iXMLDoc;
IXMLDOMElementPtr iXMLElm;
IXMLDOMNodeListPtr iXMLChild;
IXMLDOMNodePtr iXMLItem;
short tEmpty;
BSTR bStr;
HRESULT hr=iXMLDoc.CreateInstance(__uuidof(DOMDocument));
if (!FAILED(hr))
{
iXMLDoc->loadXML(L"Joe"
L"Smith",
&tEmpty);
iXMLDoc->get_documentElement(&iXMLElm);
iXMLElm->get_childNodes(&iXMLChild);
iXMLChild->get_item(1,&iXMLItem);
iXMLItem->get_xml(&bStr);
MessageBox(NULL,bStr,TEXT("Caption"),MB_OK);
}




  如何在嵌入式Visual Basic中使用XMLDOM

  在Visual Basic中使用XMLDOM非常简单。下面这个代码片断显示了如何在eMbedded Visual Basic中解析XML:

Dim xmlDoc
Dim currNode
Dim xml
Set xmlDoc = CreateObject("microsoft.xmldom")
xml = "Joe"
xml = xml & "Smith"
xmlDoc.loadXML (xml)
Set currNode = xmlDoc.documentElement.childNodes.item(1)
MsgBox currNode.xml



  消息框中将显示如下内容:

  Smith

  如何在JavaScript中使用XMLDOM

  你甚至可以通过客户端JavaScript 1.1访问XMLDOM。以下是使用JScript编写的相同代码:

function showPhone()
{
var root = Contacts.documentElement;
var selectedElems =
root.selectNodes("CONTACT[NAME='Bill Williams']");
var billElem = selectedElems.item(0);
var phone =
billElem.childNodes.item(3).nodeTypedValue;

alert("Bill Williams phone number is " + phone);
}




  总结

  Pocket Internet Explorer是一款功能强大的Web浏览器,它提供了当今Web浏览器所能提供的几乎全部功能。如果在页面设计过程中花费一些时间针对Pocket Internet Explorer进行优化,将使当前所有客户成为你的Internet受众。

  XML在Web上的重要性与日俱增。建立在Pocket Internet Explorer上的XML支持是Pocket Internet Explorer的一大特性。通过与客户端JScript配合使用,你可以创建功能强大的Web应用程序,从而充分利用移动Pocket PC。
0 0

相关博文

我的热门文章

img
取 消
img