详细了解HTC中的对象
2008/02/01 16:11
在微软(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对象包含的附加信息的对象。
元素信息
父级元素
PUBLIC:COMPONENT
子级元素
无
备注
通过指定一个NAME属性,类似于一个已经为元素定义的标准事件,一个行为可以重载元素默认的行为。
行为定义的事件不起泡。它们只发生在连接了行为的元素上。
PUBLIC:DEFAULTS元素
--------------------------------------------------------------------------------------
设定一份HTC的默认属性。
格式
<PUBLIC:DEFAULTS
canHaveHTML = "bCanHaveHTML"
contentEditable = "bEditable"
style = "sStyle"
tabStop = "bIsTabStop"
viewInheritStyle = "bInheritsStyle"
viewLinkContent = "bViewLinkContent"
viewMasterTab = "bViewMasterTab"
/>
属性
canHaveHTML
可选。指定为下列之中一个的布尔值。
false
HTC文件定义的标签的内容不能包含HTML标签。
true
HTC文件定义的标签的内容可以包含HTML标签。
contentEditable
可选。指定为下列之中一个的布尔值。
inherit
默认值。对象从它的父级继承内容被用户编辑的能力。
false
HTC文件定义的标签的内容不能编辑。
true
HTC文件定义的标签的内容可以编辑。
style
可选。指定HTC文件定义的标签的样式字符串。
tabStop
可选。指定为下列之中一个的布尔值。
false
默认值。HTC文件定义的标签不可被TAB选择激活。
true
HTC文件定义的标签可以被TAB选择激活。
viewInheritStyle
可选。指定为下列之中一个的布尔值。
false
Viewlink不从主HTML文件中继承样式。
true
默认值。Viewlink从主HTML文件中继承样式。
viewLinkContent
可选。指定为下列之中一个的布尔值。
false
默认值。HTC文件的文档中标签不作为viewlink使用。
true
HTC文件的文档中标签作为viewlink使用。
viewMasterTab
可选。指定为下列之中一个的布尔值。
false
viewlink的主元素不包含在主文档的TAB序列中。
true
默认值。viewlink的主元素包含在主文档的TAB序列中。
元素信息
父级元素
PUBLIC:COMPONENT
子级元素
无
PUBLIC:COMPONENT元素
--------------------------------------------------------------------------------------
以HTC指明文件的内容。
微软Internet Explorer 6中的新内容
literalContent属性作为一个新的可能值支持嵌套,创建一份嵌套的文字内容元素行为。
格式
<PUBLIC:COMPONENT
ID = "sID"
lightWeight = "bLight"
literalContent = "sLiteral"
NAME = "sName"
supportsEditMode = "bEditable"
tagName = "sTagName"
URN = "sURN"
>
<!-- 子级元素 -->
</PUBLIC:COMPONENT>
属性
ID
可选。组件内PUBLIC:COMPONENT元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
lightWeight
可选。指定HTC文件是否包含标签的字符串。如果HTC文件不包含标签,这个属性应当设置为true来改进表现效果。这个属性对任何HTC文件均有效。
true
HTC文件不包含标签,因而无需每次都解析并表现自定义标签。这些标签由HTC文件定义,在主文档中使用。
false
默认值。HTC包含必需解析并表现的自定义标签。这些标签由HTC文件定义,在主文档中使用。
literalContent
可选。指定自定义标签包含的内容是被解析并表现,还是作为数据岛处理的字符串。这个属性仅在HTC文件定义一个元素行为时有效,此时需要使用tagName属性。更多信息请查阅备注。
false
默认值。由tagName属性定义的标签内的文本和标签并作为数据岛处理,而是解析并表现。
nested
Internet Explorer 6及后继版本。Content within the first opening and last closing of the tag defined by the tagName attribute is treated as a data island and is not parsed or rendered.更多信息请查阅使用literalContent属性。
true
Content within the first opening and last closing of the tag defined by the tagName attribute is treated as a data island and is not parsed or rendered.
NAME
可选。指定主文档中提交的行为的名称的字符串。
supportEditMode
可选。指定HTC文件内容是否可编辑的字符串。这个属性仅在HTC文件定义一个元素行为时有效。
true
HTC文件包含的标签可编辑。
false
默认值。HTC文件包含的标签不可编辑。你能够通过对HTC文件中每个元素设定isContentEditable属性为VARIANT_TRUE来重载此属性值。
tagName
可选。指定自定义标签名称的字符串,此标签由HTC文件定义并导入到主文档中。这个属性仅在HTC文件定义一个元素行为时有效。更多信息请查阅备注。
URN
可选。字符串,以统一资源名称(URN)格式,从而唯一识别此组件。因而在多个行为发生在同一名称的事件时可以唯一的识别。当事件发生,event对象的srcUrn属性被设定为发生在事件上行为的URN。
元素信息
子级元素
至多出现一次
PUBLIC:DEFAULTS
一或多次出现
PUBLIC:ATTACH,PUBLIC:EVENT,PUBLIC:METHOD,PUBLIC:PROPERTY
备注
PUBLIC:COMPONENT元素可以定义两种截然不同类型的行为。一种是连接行为,使用behavior层叠样式表(CSS)属性来修改一个已经存在的元素的行为。第二种类型,在Internet Explorer 5.5 中介绍,被称作一个元素行为。一个元素行为用来定义如标准的HTML标签一样在网页中使用的自定义标签。
一个元素行为意味着网页中一个自定义标签的创建和使用。因此,当HTC文件定义一个元素行为时有必要定义PUBLIC:COMPONENT元素的tagName属性。如先前指出的,此元素的部分属性为元素行为特别设计。更多信息清查询元素行为。
当多个行为连接到同一元素时,NAME属性特别有用。因为它允许你调用包含文档中需要的行为的属性和方法。如果在一份文档中多个行为被连接到一个<SPAN ID="mySpan">元素,你可以使用下面的格式来设定命名为behaviorABC的行为的delay属性。
mySpan.behaviorABC.delay = 1000;
PUBLIC:ATTACH元素
--------------------------------------------------------------------------------------
绑定一个函数到一个事件上,因此每次事件发生在特殊对象上时函数会被调用。
格式
<PUBLIC:ATTACH
EVENT = "sEvent"
FOR = "sObject"
ID = "sID"
ONEVENT = "sEventHandler"
/>
属性
EVENT
必选。指定一个动态HTML(DHTML)事件、或任何在HTC参考中列举出的由HTML组件(HTC)指定事件的字符串。
FOR
可选。指定为下面值中一个的字符串,用来识别事件源。
document
引用document对象。
element
默认值。引用行为连接的元素。
window
引用window对象。
ID
可选。组件内PUBLIC:ATTACH元素的唯一识别字符串。这个属性类似于DHTML中的ID属性。
ONEVENT
必选。事件处理函数的直接声明或一份行内脚本的指定字符串。
元素信息
父级元素
PUBLIC:COMPONENT
子级元素
无
备注
PUBLIC:ATTACH元素是attachEvent方法的一份声明。
当指定的事件发生在连接了行为的元素时,首先调用的是元素的事件处理部分,且在行为的事件处理前。如果多个行为被连接到一个元素,同时多个事件处理部分定义在同一元素的同一事件上,函数在元素事件处理部分调用后会随机地被调用。
当为ONEVENT提供一个值时,避免赋予事件处理部分函数一个已经存在的DHTML事件的名称。使用一个已经存在的DHTML事件的名称可能会递归错误。
事件的名称对所有脚本语言都是大小写敏感的。
分享到:
相关推荐
HTC(Hit Target Control)是微软在Internet Explorer浏览器中引入的一种增强HTML元素功能的技术,它允许开发者通过JavaScript来扩展HTML元素的...尽管如此,了解HTC对于理解Web发展的历史和技术演进仍然是有价值的。
HTC文件是以.htc为扩展名的HTML文件,它结合了脚本语言(如JavaScript)和特定的HTC元素,允许开发者自定义组件的功能并将其集成到网页...尽管如此,了解HTC的历史和原理对于理解早期网页开发的技术演进仍然是有益的。
HTC扩展允许开发者通过JavaScript或VBScript等脚本语言实现自定义的DOM(文档对象模型)行为,以提升网页在这些设备上的用户体验。 标题“htc调用实例”暗示了这是一个关于如何在实际项目中应用HTC技术的教程或示例...
尽管如此,了解HTC文件的历史和技术背景,对于理解Web技术的发展历程以及早期的一些解决方案仍然很有价值。同时,对于那些需要维护旧项目或研究Web历史的开发者来说,HTC文件仍然是一个不可忽视的知识点。
在Unity引擎中开发虚拟现实(VR)应用时,HTC Vive是一款非常流行的头戴式显示器,为用户提供沉浸式体验。本教程"公司内部Unity HTC Vive交互教学"将深入讲解如何利用Unity与HTC Vive进行交互设计,帮助你掌握创建高...
**正文** 标题“CSS+HTC日历选择控件”所指的是一种使用CSS样式和HTC(HTML Component)技术实现的...对于现代Web开发,了解并理解这类技术的历史和工作原理,有助于我们更好地理解和迁移至现代的跨浏览器解决方案。
本文将详细介绍如何利用Unity和SteamVR_Unity_Toolkit工具包来开发针对HTC Vive的应用。 首先,我们要理解Unity的基本概念。Unity是一款跨平台的游戏引擎,支持多样的操作系统和硬件设备,包括VR设备如HTC Vive。它...
"一键官解"是指通过该软件可以快速、简便地解锁HTC设备的Bootloader,而"HTC bootloader"则是指此操作的对象,即针对HTC品牌的手机或平板电脑的Bootloader。 【压缩包子文件的文件名称】"ShuameSetup_1.2.5.exe"很...
在使用HTC重力感应API时,开发者需要熟悉C++的基本语法,如类的定义、对象的创建、函数调用等。例如,API可能有一个名为`GSensor`的类,其中包含`start()`来启动传感器服务,`getData()`来获取实时数据,以及`stop()...
在Android系统中,这部分内容存储在bootanimation.zip文件中,这也是我们修改开机画面的主要对象。 制作HTC G1、G2、G3的开机画面涉及以下几个步骤: 1. **准备素材**:你需要设计或找到合适的静态图片(PNG格式)...
此外,源码分析也是软件工程中的一项重要技能,通过对源码的阅读,我们可以了解软件的工作原理,学习到优秀代码的设计模式,比如模块化、面向对象等。在这款钟表程序中,可能包含有事件驱动的编程思想,如定时器事件...
此外,易语言支持面向对象编程,可以创建类和对象,进行封装、继承和多态操作。 HTC风格的时钟源码中可能包含以下几个关键知识点: 1. **事件处理**:易语言中的事件驱动编程模式,时钟界面的更新通常是通过响应...
【HTC北京研发中心2014招聘C和C++笔试题】是一场针对应聘者C和C++编程技能的考核,通常这样的笔试题会涵盖语言基础、数据结构、算法、程序设计等多个方面,旨在评估候选人的编程能力、逻辑思维以及问题解决能力。...
1. **易语言基础**:易语言的核心特性包括直观的中文语法、丰富的内置函数和对象,以及面向对象编程的支持。源码会展示如何利用这些特性构建应用程序。 2. **GUI设计**:HTC风格时钟的界面设计涉及到窗口、控件和...
标题中的"htc_dconv_c3-c5_mstrain_400_1400_x101_64x4d_fpn_20e_20190408-0e50669c.pth"是...了解以上知识点,对于深度学习和计算机视觉的研究者或者开发者来说,可以方便地利用这些资源进行模型的训练和应用开发。
联想、三星、HTC、多米等知名公司对Android开发者的要求各有侧重,但都离不开扎实的技术基础和良好的问题解决能力。以下是一些核心的Android面试知识点和面试技巧,以及与Java相关的面试题。 一、Android基础知识 1...
VRTK插件的主要组成部分包括一系列预设的游戏对象、脚本和示例场景,这些都围绕着HTC VIVE的手柄控制器进行优化。其核心组件如`VRTK_ControllerEvents`和`VRTK_InteractableObject`,允许开发者轻松地实现对VR环境中...
【描述】"HTC T328d四角送话器改两角的送话器"进一步明确了改造的对象是HTC T328d这款特定型号的手机,并且是针对其送话器部分进行的改动。"两角的送话器"可能是指新的送话器模块设计,它可能比原来的四角设计更紧凑...
最后,预告下一部分内容,我们将深入研究HTC Vive的交互系统,了解其工作原理。这将有助于你更好地理解和应用更多的交互事件,从而提升你的VR开发技能。 通过以上步骤,你已经掌握了如何使用Unity和VRTK实现基本的...