*.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函数来检测客户端是否支持这个功能:

js 代码
  1. function canUseBehaviors() {   
  2.     var ua = window.navigator.userAgent;   
  3.     var msiePos = ua.indexOf('MSIE');   
  4.     var msieVer = 0;   
  5.     var behaviorsAvailable = false;   
  6.     var iHandle = 0;   
  7.     if (msiePos >= 0) {   
  8.         msieMajorVer = parseInt(ua.charAt(msiePos + 5));   
  9.         msieMinorVer = parseInt(ua.charAt(msiePos + 7));   
  10.         if (msieMajorVer >= 5) {   
  11.             if (((msieMajorVer == 5) && (msieMinorVer >= 5)) ||   
  12.             (msieMajorVer > 5)) {   
  13.             behaviorsAvailable = true;   
  14.             }   
  15.         }   
  16.     }   
  17.     return behaviorsAvailable;   
  18. }  

使用上面的函数,你可以在运行时确定是否能够使用WebService 行为来调用Web 服务并使用IE的DHTML功能来显示结果或者是把这个表单发送给服务器让服务器来完成必要的操作,然后再次生成一个完整的页面。使用CSS语法来为一个元素添加WebService行为不会影响不支持特定CSS属性的浏览器。

微软提供了一个很好的参考,程序员可以用它更好的熟悉从客户端访问Web 服务。开发者还可以在微软的站点上找到必要的HTML 组件(*.htc)文件。

有了客户端工具包中的WebService行为,开发者们可以为Web 消费者创建更丰富更具交互性的页面,它们与使用大型主机提供的Web 服务或者基于表单窗口的应用程序的企业用户的功能是一样的。这将帮助消除冗余的代码并能通过为服务提供的特定功能提高响应时间来增强用户体验的快感。

例子:《用htc文件,为按钮添加 link 和 target 属性》

  做WEB程序的时候经常需要用一个按钮来跳转到一个页面,或打开新窗口;由于按钮没有link属性,所以经常要写脚本来控制,感觉有些麻烦,最近看了一些关于htc的文档,发现htc可以为按钮添加属性,所以就写了个例子。

【文件:test.htm】

xml 代码
  1. <link href="style.css" rel="stylesheet" type="text/css">  
  2. <input type=button link="http://www.sina.com.cn" value="打开新浪">  
  3. <input type=button link="http://www.sina.com.cn" value="新窗口打开新浪" target="_blank">  

【文件:style.css】

css 代码
  1. input {   
  2.   behavior:url("input.htc");   
  3. }  

【文件:input.htc】

js 代码
  1. <public:component>   
  2. <!--添加连接-->   
  3. <public:property name="link" value="" />   
  4. <!--添加是否在新窗口打开属性-->   
  5. <public:property name="target" value="" />   
  6. <script>   
  7.     if(this.onclick == null) {   
  8.         onclick = function() {   
  9.             if (link != "") {   
  10.                 if (target == "_blank") {   
  11.                     window.open(link);    
  12.                 } else {   
  13.                     location.href = link;   
  14.                 }   
  15.             }   
  16.         };   
  17.     };   
  18. </script>   
  19. </public:component>  

  把上面的代码分别保存,放在同一个目录下就可以了,以后只要引入了style.css,那么页面中的按钮就多了两个属性link,target。
 
  如果你设置了按钮的onclick属性,那么link属性就不执行了,毕竟默认的属性优先。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值