*.HTC 文件的简单介绍
发布时间:2008-11-24 17:36:00
今天在论坛上面看到有些兄弟不知道HTC是什么东西。小生在这里稍微说一下。
从5.5版本开始,Internet Explorer(IE)开始支持Web 行为的概念。这些行为是由后缀名为.htc的脚本文件描述的,它们定义了一套方法和属性,程序员几乎可以把这些方法和属性应用到HTML页面上的任何元素上去。Web 行为是非常伟大的因为它们允许程序员把自定义的功能“连接”到现有的元素和控件,而不是必须让用户下载二进制文件(例如ActiveX 控件)来完成这个功能。Web 行为还是推荐的扩展IE对象模型和控件集的方法。微软在它的开发者站点上的DHTML 行为库栏目里提供了几个定制的Web行为。我会在本文中讨论一个比较新的Web 行为:WebService行为。
Web 服务是通过一个开放的简单对象访问协议(SOAP)来传递参数和接收返回值,以便在Web上提供接口无关的软件服务的方法。在Internet上有许多例子和文章帮助你创建Web 服务并从传统的基于窗口表单的应用程序或者在服务器端来使用这些Web 服务,但是也可以使用WebService 行为也可以在客户浏览器上使用Web 服务。
从客户浏览器调用一个Web 服务的好处包括能够得到服务器更快的响应时间,结果是生成交互能力更强的页面并让用户用起来更高兴。与传统的将表单发回服务器然后接收一个新的页面不同的是(这个过程包括重新下载图片和其它的内容),WebService行为使用XMLHTTP在后台只发送和接收与事务处理过程相关的内容,然后这些内容又可以通过DHTML和脚本进行显示。
我所知道的目前支持Web 行为的唯一一个浏览器是IE;开发者们知道避免使用只能在IE上使用的功能。但是W3C在工作草案里有这个CSS的扩展以作为未来的标准。
如果你决定现在就使用Web 行为,你可以使用下面的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 服务或者基于表单窗口的应用程序的企业用户的功能是一样的。这将帮助消除冗余的代码并能通过为服务提供的特定功能提高响应时间来增强用户体验的快感。


猜你喜欢
- 格式化在逻辑中非常常用。使用格式化函数,要注意写法:fmt.Sprintf(格式化样式, 参数列表…)格式化样式:字符
- 由于工作关系,只能暂时放弃对mongodb的研究了 .开始研究PHPcms .目前为止我已经基本完成了模块的开发.趁着周末来这里做个总结.我
- 本文以实例形式讲述了Python中切片操作的用法,分享给大家供大家参考借鉴,具体如下:取一个list或tuple的部分元素是非常常见的操作。
- python 的PIL安装是一件很头疼的的事, 如果你要在python 中使用图型程序那怕只是将个图片从二进制流中存盘(例如使用Scrapy
- HttpRequest.FILES表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 解决方法之一:如果pytorch在进行model.cuda()操作需要花费的时间很长,长到你怀疑GPU的速度了,那就是不正常的。如果你用的p
- Oracle客户端精简后的文件,可以实现数据库的通信,直接和软件打包: 第一步:拷贝文件:主要是四个目录:bin,nls,oracore,N
- 本文实例讲述了JavaScript常用数学函数用法。分享给大家供大家参考,具体如下:一、代码<script language=&quo
- 使用mysqldump命令备份时候,--all-databases 可以备份所有的数据库。 使用ignore-table 还可以排除制定的表
- 最近接触了一些selenium模块的相关知识,觉得还挺有意思的,于是决定亲自尝试写一些爬虫程序来强化selenium模块(一定要多尝试、多动
- 本文实例讲述了Python实现数通设备端口使用情况监控的方法。分享给大家供大家参考。具体如下:最近因工作需要,上面要求,每天需上报运维的几百
- PPOCRLabel标注的txt格式转换成labelme能修改的json格式PPOCR是个好东西默认的训练文件是用自带的PPOCRLabel
- 前言神经网络在设置的神经网络足够复杂的情况下,可以无限逼近一段非线性连续函数,但是如果神经网络设置的足够复杂,将会导致过拟合(overfit
- 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6 , IE7 &nb
- 在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的。但是实际工作中,很多前端开发人员并未给每个元素都编
- HTTP状态码 摘要说明成功2××  
- 1. 什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表
- 本文实例讲述了Python统计纯文本文件中英文单词出现个数的方法。分享给大家供大家参考,具体如下:第一版: 效率低# -*- coding:
- 本文实例讲述了Python二叉搜索树与双向链表转换算法。分享给大家供大家参考,具体如下:题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个