在微软(R)Internet Explorer 5中介绍,HTML组件(HTCs)提供一种机制来使用脚本作为动态HTML(DHTML)行为实现组件功能。以.htc扩展名保存,一份HTC是一份包含脚本和一组用于定义组件的HTC特殊元素的HTML文件。此部分包含相关元素和它们支持的成员。
对象
document 在给定的浏览器窗口中表现HTML文档。
element 返回一份主文档中连接行为的标签的参考。
PUBLIC:ATTACH 绑定一个函数到一个事件上,因此每次事件发生在特殊对象上时函数会被调用。
PUBLIC:COMPONENT 以HTC指明文件的内容。
PUBLIC:DEFAULTS 设定一份HTC的默认属性。
PUBLIC:EVENT 定义一个HTC的事件,使之暴露于包含该HTC的文档。
PUBLIC:METHOD 定义一个HTC的方法,使之暴露于包含该HTC的文档。
PUBLIC:PROPERTY 定义一个HTC的属性,使之暴露于包含该HTC的文档。
方法
createEventObject
创建一个事件对象,当需要传递事件附加信息给PUBLIC:EVENT元素的fire方法时使用。
事件
oncontentready
连接了行为的元素的内容完全被解析时发生。
oncontentsave
连接了一份元素行为的一个元素的内容被保存或复制前发生。
ondetach
从一个元素解除一份行为的连接前发生。
ondocumentready
当包含行为的文档完全被解析时发生。
PUBLIC:PROPERTY元素
--------------------------------------------------------------------------------------
定义一个HTC的属性,使之暴露于包含该HTC的文档。
格式
<PUBLIC:PROPERTY
GET = "sGetFunction"
ID = "sPropertyID"
INTERNALNAME = "sInternalName"
NAME = "sName"
PERSIST = "bPersist"
PUT = "sPutFunction"
value = "vvalue"
/>
属性
GET
可选。指定属性值被获得时调用的函数的字符串。一个只指定了GET属性而没有指定PUT属性的PUBLIC:PROPERTY元素是一个只读属性。
ID
可选。组件内PUBLIC:PROPERTY元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
INTERNALNAME
可选。包含文档中指定方法提交的名称的字符串。这个内部的名称必须在组件内任意参考前广泛的关联;否则,一个脚本错误出现,指出名称未定义。如果没有内部的名称被指定,默认情况下使用NAME属性。
NAME
必选。指定暴露给包含文档的属性的名称的字符串。默认情况下,NAME的指定也用于组件内属性的提交,除非INTERNALNAME属性被指定。
PERSIST
可选。指定是否坚持属性作为叶面的部分的布尔值。
PUT
可选。指定属性值被设定时调用的函数的字符串。一个指定了GET和PUT属性的PUBLIC:PROPERTY元素是一个读写属性。一个PUT函数被指定,而指定GET函数指定失败,会导致该属性只可写,一般来说这是不希望出现的。
value
可选。指定属性默认值的变量。
方法
propertyID.fireChange()
通报包含文档属性值在元素上发生onpropertychange事件时被改变。如果属性没有PUT属性被指定,在包含文档中属性被设定时onpropertychange会自动发生。
元素信息
父级元素: PUBLIC:COMPONENT
子级元素:无
备注
当指定NAME属性与一个已经为该元素定义的标准方法的名称相同时,一个行为可以重载元素的默认行为。
如果PUT或GET属性被指定,INTERNALNAME属性被忽略。通过在PUT和GET属性中指定的函数来设定与/或获得属性值,优先级高于通过INTERNALNAME设定和/或获得属性值。
PUT属性指定的函数必须注意包含文档中的元素使用PUBLIC:PROPERTY元素的fireChange方法改变属性值的情况。调用这个方法导致onpropertychange事件发生在包含文档的相应元素,同时event对象的propertyName设定为属性的名称。
PUBLIC:METHOD元素
--------------------------------------------------------------------------------------
定义一个HTC的方法,使之暴露于包含该HTC的文档。
格式
<PUBLIC:METHOD
ID = "sID"
INTERNALNAME = "sInternalName"
NAME = "sName"
/>
属性
ID
可选。组件内PUBLIC:METHOD元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
INTERNALNAME
可选。包含文档中指定方法提交的名称的字符串。默认情况下,NAME也指定提交到组件内的方法,除非INTERNALNAME属性被指定。
元素信息
父级元素
PUBLIC:COMPONENT
子级元素
无
最小运行环境
备注
当指定NAME属性与一个已经为该元素定义的标准方法的名称相同时,一个行为可以重载元素的默认行为。
PUBLIC:EVENT元素
--------------------------------------------------------------------------------------
定义一个HTC的事件,使之暴露于包含该HTC的文档。
格式
<PUBLIC:EVENT
ID = "sEventID"
NAME = "sName"
/>
属性
ID
可选。组件内PUBLIC:EVENT元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
NAME
必选。指定主文档中提交的事件的名称的字符串。
方法
eventID.fire([oEvent])
包含的文档发生事件。
这个方法有下面的参数:
oEvent
指定event对象包含的附加信息的对象。