利用WebService的行为特性

ZDNet软件频道 时间:2003-06-25 作者:ZDNet China |  我要评论()
本文关键词:
Internet Explorer(IE)从5.5版本开始支持行为的概念。它们是扩展名为*.htc的脚本文件,其定义了一组方法和属性,程序员可以将这些方法和属性应用到HTML页面的几乎任何一个元素上。
本文译自Builder.com,未经许可请勿转载Internet Explorer(IE)从5.5版本开始支持行为的概念。它们是扩展名为*.htc的脚本文件,其定义了一组方法和属性,程序员可以将这些方法和属性应用到HTML页面的几乎任何一个元素上。行为非常有用,因为它允许程序员将自定义的功能绑定到已存在的元素和控件上,而不是让用户下载二进制代码(比如ActiveX控件)来获得这些功能。行为还被推荐用来扩展IE对象模型和控件集。微软在其开发站点的DHTML Behaviors Library标题下提供了一些自定义行为。其中有一个比较新的行为:WebService 行为,我在此专栏中会把重点放在其身上。

WebService是一种通过Web提供独立于界面功能的方法,它使用简单对象访问协议(SOAP)这样一个开放标准来传递参数和接收返回值。Internet上有许多例子和文章可以帮助你创建WebService,并在传统的表单应用程序或服务器端使用,但是通过使用WebService行为,就可以在客户端浏览器中使用WebService。

从客户端浏览器调用WevService的好处之一是更快的响应服务器的速度,从而可以有更多互动的页面,用户感觉更方便。不用向服务器回传一个表单并接受一个新的页面(意味着从新下载图片和其它内容),在这种情况下WebService行为使用XMLHTTP只传递相应的内容,然后通过DHTML和脚本来向用户表示。

我所知道的目前支持行为特性的浏览器只有IE。众所周知,程序员不会使用只有IE支持的功能。但是,W3C已开始进行将这种CSS扩展作为将来标准的起草工作

如果你决定现在就是用行为,先用下面的JavaScript函数检测以下你的客户端浏览器是否支持它:

function canUseBehaviors() {
var ua = window.navigator.userAgent;
var msiePos = ua.indexOf('MSIE');
var msieVer = 0;
var behaviorsAvailable = false;
var iHandle = 0;
    if (msiePos >= 0) {
        msieMajorVer = parseInt(ua.charAt(msiePos + 5));
        msieMinorVer = parseInt(ua.charAt(msiePos + 7));
        if (msieMajorVer >= 5) {
            if (((msieMajorVer == 5) && (msieMinorVer >= 5)) ||
                (msieMajorVer > 5)) {
                behaviorsAvailable = true;
            }
        }
    }
    return behaviorsAvailable;
}

使用上面的函数,可以在运行期决定是否使用WebService行为来调用Web服务,以及使用IE的DHTML来表示结果,还是将表单提交给服务器并让服务器进行必要的操作,产生一个完整的页面。将使用CSS语法将WebService行为绑定到一个元素上不会影响不支持此种CSS语法的浏览器的工作。

微软为程序员提供了非常棒的参考来熟悉从客户端浏览器访问Web服务。程序员也可以在微软的网站上找到必须的HTML组件(*.htc)文件。

有了客户端WebService行为的帮助,程序员可以为Web消费者创建丰富的互动页面。它们的功能与那些在主框架或基于表单的应用程序中可以使用的Web服务是一样的。这减少了冗余的代码,加快了服务功能的反应时间,从而提升了用户的感受。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134