HTC技术学习之旅

来源:互联网 发布:绘画软件知乎 编辑:程序博客网 时间:2024/05/19 06:36

htc的全称就是Html Components,由微软在IE5.0后开始提供的一种新的指令组合,它可以把某种特定功能的代码封装在一个组件之中,从而实现了代码的重复使用,据说是用来代替activex和applet的.从 Internet Explorer 5 开始引入了 HTML 组件的概念, HTML 组件也是 Internet Explore 5.5 一个革命性的突破。 Microsoft 的目的是用它取代 ActiveX 控件。HTML 组件是封装的对象,也像 ActiveX 控件一样是“自包含”的,可以在开发完后发布给任何人。HTC 文件并不仅仅是将一个 HTML 文件的扩展名换成 .htc,它含有脚本和 HTC 定制元素的集合。 在 HTML 文件中,HTC 拥有和页面中其他的 DHTML 元素一样的访问方式。这就意味着所有 HTC 元素都可以通过 id 属性在脚本中调用,也就是说 HTC 元素的属性、方法都可以通过脚本来进行灵活的运用。 您可以通过下面几种方式来执行 DHTML 行为: 定义属性和方法。在 HTC 中分别使用 PUBLIC:PROPERTY 和 PUBLIC:METHOD 元素来定义 HTC 的属性和方法。 定义事件:通过 EVENT 元素定义,使用元素的 fire () 方法在它们所在的页面里 引发这些事件。事件的环境可以通过 createEventObject () 方法设置。 在它们所在的页面里访问 DHTML 对象模型。HTC 中的 object 元素返回它所附属的元素, 通过这个对象,HTC 能访问他所在的文档及其对象模型 (属性、方法和事件)。 接受通报。当使用 ATTACH 元素时,浏览器向 HTC 通报标准 DHTML 事件和两个 HTC 专有 事件,oncontentready 和 ondocumentready。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title>Untitled Page</title>   <style type="text/css">     input{behavior: url(engine.htc);}     </style></head><body >    <form id="form1" runat="server">    <input id="Reset1" type="text" value="reset" />    </form>    </body></html>//htc文件<public:component><PUBLIC:ATTACH EVENT="onmousemove" ONEVENT="reportMove()" /><PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="Hilite()" /><PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="Restore()" /><SCRIPT  type="text/javascript">  function Hilite()  {  element.style.border = "1px #f60 solid";  element.style.background = "#f5f5f5";  } function Restore()  {  element.style.border = "1px #ccc solid";   element.style.background = "#fff";  }function reportMove(){   window.status = "X=" + window.event.x + " Y=" + window.event.y;}</SCRIPT></public:component>