`

htc入门介绍(转)

阅读更多

      在微软IE 5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的。这个问题一直困扰着DHTML(动态 HEML)的网页编程者。他们只能不断地重复书写HTML、CSS和javascript的代码,以满足多个页面上的重复或相似的功能。自IE 5.0浏览器发布后,这种情况得到了改善,它带给我们一个新的指令组合方法,可把实现特定功能的代码封装在一个组件内,从而实现多页面的代码重用,使网页编程进入一个全新的天地。这个新的技术就是我们要谈到的DHTML中的“行为”(Behaviors)。

 

     “行为”作为一个简单易用的组件,它封装了页面上特定的功能或动作。当把一个“行为”附到WEB页面中的一个元件上时,这个元件的原有行为就会有所改变。因此,网页编程者可以开发通用的DHTML指令,并改变原有对象的一些属性,用“行为”来增强一个对象的功能,同时也简化了页面的HTML代码。而且“行为”的创建和使用也非常简单方便,所需的知识也只是原来已经习惯使用的CSS样式表、HTML指令和javascript脚本语言。只要你对此有所了解,有过实际编程的经历,学习并掌握“行为”的使用完全没有问题。我们将以一个改变字体效果的“行为”组件为例来说明如何编写和使用一个“行为”,并体验“行为”给页面编辑带来的优点和方便之处。

 

  首先新建一个名为font_efftce.htc的文本文件,组成“行为”组件的文件都是以.htc为扩展名,这个文件中的内容就是我们对这个“行为”的描述。它的创建和使用步骤如下:
(1)首先给这个“行为”增加几个事件响应,语句书写格式如下:

<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="glowit()"/> 
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="noglow()"/> 
<PUBLIC:ATTACH EVENT="onmousedown" ONEVENT="font2yellow()"/> 
<PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()"/>

 

“EVENT”对应所需事件名,在这里分别为nmouseover,onmouseout,onmousedown,onmouseup四个事件名,你当然可以再增加其它的事件名来满足你的特定需求。“ONEVENT”对应着个自的事件句柄,即事件触发时所调用的函数名称。glowit()函数使字体周围产生一个红色的辉光。noglow()函数是消除字体的辉光效果。Font2yellow()函数是把字体颜色改为黄色。Font2blue()函数是把字体颜色改为蓝色。四个事件的定义都是相似的。

(2)接下来,再给这个“行为”增加二个“方法”定义,内容如下。

<PUBLIC:METHOD NAME="move_down"/> 
<PUBLIC:METHOD NAME="move_right"/> 

“NAME”参数对应的是给定的“方法”名称。move_down和move_right分别是向下和向右移动的“方法”对应的函数名称。注意,在方法名的后面不要带“( )”括号,即不要写成“move_down()”这个样子,这在“方法”定义的语法上是不允许的。

 

(3)接下来的工作就是在我们熟悉的DHTML环境下,用javascript脚本语句编写“事件句柄”和“方法”所对应的函数内容,实现预期的效果。具体内容参考下面的源程序。其中的“element”参数指的是这个“行为”所附着的对象,因为“行为”总是被附着到页面的元件上面,并通过这个元件发挥作用。其它语句都是DHTML的编程内容,就不再多说了。如有不明之处,可参考微软的MSDN开发文档中有关IE浏览器的内容,上面有详细的DHTML编程参考内容、属性和方法使用说明等,并包含了大量的文章和举例程序。经常访问微软的MSDN文档,尤其对于初学者来说是一个良好的学习习惯,你几乎可以得到任何你想找的答案,它的网址为:http://msdn.microsoft.com/ie/

 

  完整的“行为”文档“font_effect.htc”的内容如下:

////////////////////////“行为”文档开始//////////////////////////// 
//给“行为”增加四个鼠标事件 
<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="glowit()"/> 
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="noglow()"/> 
<PUBLIC:ATTACH EVENT="onmousedown" ONEVENT="font2yellow()"/> 
<PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()"/> 
//给“行为”定义二个方法 
<PUBLIC:METHOD NAME="move_down"/> 
<PUBLIC:METHOD NAME="move_right"/> 
<SCRIPT language="javascript"> 
//定义一个保存字体颜色的变量 
var font_color; 
//定义向下移动文字的方法 
function move_down() { 
    element.style.posTop+=2; 
} 
//定义向右移动文字的方法 
function move_right() {
    element.style.posLeft +=6; 
} 
//定义鼠标onmouseup事件的调用函数 
function font2blue(){ 
    if (event.srcElement == element) { 
        element.style.color='blue'; 
    } 
} 
//定义鼠标onmousedown事件的调用函数 
function font2yellow(){ 
    if (event.srcElement == element) { 
        element.style.color='yellow'; 
    } 
} 

//定义鼠标onmouseover事件的调用函数 
function glowit() { 
    if (event.srcElement == element) { 
        font_color=style.color; 
        element.style.color='white'; 
        element.style.filter="glow(color=red,strength=2)"; 
    } 
} 

//定义鼠标onmouseout事件的调用函数 
function noglow() { 
    if (event.srcElement == element) { 
        element.style.filter=""; 
        element.style.color=font_color; 
    } 
} 
</SCRIPT> 
//////////////////“行为”文档结束///////////////////////////////

 

(4)如何在一个页面上使用“行为”
  在页面上使用“行为”组件,并不需要学习新的知识。所需的知识的也不过是CSS样式表和HTML的设置而已,请看下面的语句。

 

<STYLE> 
.myfilter{behavior:url(font_effect.htc);position:relative;font-weight:bold;width=180;left:0;}
</STYLE> 

  可以看出,这和以前我们已经熟知的样式表设置完全相同。上面的语句定义了一个样式名:“myfilter”,其中对我们来说比较新的内容是:“behavior:url(font_effect.htc);”,“behavior”是新增的“行为”属性名,这就是“行为”在样式表中的设置方式。括号中的内容是“行为”文档的文件名,本例中表明“行为”文档在与页面文件在同一个目录下,如果“行为”文档安置在其它目录下,在此参数的前面要加上相应的路径名,以保证可以正确地定位“行为”文档的位置。此“样式”中的其它内容就是普通的样式属性设置,可根据你的需要增减,但在此例中,由于使用了“glow”滤镜效果,至少要设置一个宽度(width)属性。通过以上的样式指定,我们就有了一个名为:“myfilter”的样式,它附带一个有字体变化效果的“行为”。如果你想要在一个页面元件上使用这个附带“行为”的样式,同样也很简单,只要把这个“样式名”安置在元件的属性设置区域即可,见下面的语句。

 

<span id="myspan" class='myfilter'>行为产生的文字效果</span><br>
<span class='myfilter'>鼠标指向后产生辉光</span> 

  以上语句里面没有什么新的内容,class='myfilter'就是我们所熟悉的样式设置。在第一个“span”标记的属性中还定义了一个“id”标记,稍后就会看到,这是用来演示调用“行为”内的“方法”而设置的。这样设置后,“span”元件中的内容就可以显示出“行为”组件内的预定效果:
1. 鼠标指针移动到文字内容上时,在文字周围产生红色的辉光效果,同时文字变成白色。
2. 当鼠标按钮按下时,文字颜色改变为黄色。
3. 鼠标按钮抬起后,文字颜色又改变为蓝色。
4. 当鼠标指针移动到文字区域以外时,去掉了红色辉光效果,文字恢复原样。
  另外,我们在定义“行为”时设置了二个“方法”,“move_down”和“move_right”。为调用这二个“方法”,定义了二个按钮:

<button onclick="myspan.move_right();">向右移动第一行文字</button>
<br> 
<button onclick="myspan.move_down();">向下移动第一行文字</button> 

  用按钮的onclick事件去调用这二个“方法”,先前定义的“id”标记就作为元件的对象名称,用“myspan.move_down”来调用“方法”,操纵这个对象。可以看到,在按下相应的按钮后,会使第一行的文字产生向下或向右的移动。虽然只是用第一行文字做了示范,实际上,只要做相应的设置,你也可以移动其它对象。页面源文档的完整内内容如下: 

<html > 
<HEAD > 
<TITLE >行为效果演示< /TITLE > 
<STYLE > 
.myfilter{behavior:url(font_effect.htc);position:relative;font-weight:bold;width=180;left:0;} 
</STYLE> 
</HEAD> 
<BODY> 
<span id="myspan" class='myfilter'>行为产生的文字效果</span><br> 
<span class='myfilter'>鼠标指向后产生辉光</span><br> 
<span class='myfilter'>同时文字变白</span><br> 
<span class='myfilter'>按下鼠标后文字变黄</span><br> 
<span class='myfilter'>抬起鼠标后文字变蓝</span><br> 
<span class='myfilter'>鼠标离开后文字恢复原状</span><br> 
<button onclick="myspan.move_right();">向右移动第一行文字</button><br> 
<button onclick="myspan.move_down();">向下移动第一行文字</button>
</BODY> 
</html> 

   通过以上的简单介绍,可以看出,我们很容易地在一个“行为”中同时组合了多种文字变化效果,通过简单的“样式”设置,任意地将它与页面元件相关连,体现了“行为”组件的优点和强大功能。一个“行为”组件,不仅能在一个页面内重复使用,也可供同一站点上的所有页面使用。试想一下,如果不使用“行为”来完成上述的效果,虽然可以在页面内调用一组预定的函数来完成同样的功能,但页面内每一个使用文字效果的元件都要附加四个鼠标事件,如果在多个页面内使用相同的效果,被调用的函数也需要在每一个页面内重复设置。相比之下,孰优孰劣是很明显的。所以,使用“行为”组件,可以制作出简洁、高效、通用和便于维护的页面。本文的举例只是为了说明“行为”组件的编写和使用过程,使读者对“行为”编程有一个概括的了解,并以此基础制作出自己所需要的“行为”组件,或直接引用满足个人需要的现成“行为”组件,因为“组件共享”的概念也是“行为”开发者的初衷。最后,愿本文能起到“抛砖引玉”的目的,使读者步入精彩的DHTML网页编程天地。 

说明:
HTC是HTML component的缩写,
是IE5.0的主要扩展之一,
除了具备一般组件的可重用优点之外,
还具有易于开发使用等优点,
因为需要引入外部文件,这里就不举例了,宝库里有例子.

控件和组件
HTC提供了一个简单机制以在脚本中实现DHTML行为。一个HTC文件和HTML文件没有任何差别,并且以“.htc”为后缀,

可以使用HTC实现以下行为:
设定属性和方法。通过“PROPERTY”和“METHOD”元素定义
设置自定义事件。通过“EVENT”元素实现,用该元素的“fire()”方法释放事件,
通过“createEventObject()”方法设置事件环境。
访问所包含该HTC的的HTML页的DHTML对象模型,使用HTC的“element"对象,返回
一个附加行为的元素,使用该对象,HTC可以访问包含文挡及它的对象模型(属性、方法、事件)。
收取通知,使用”ATTACH“元素实现,浏览器不但通知HTC标准的DHTML事件,而且通知HTC两种特殊事件:oncontentready事件和ondocumentready事件 。 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    HTC Vive开发入门篇-第2课-主角及移动.pdf

    HTC Vive开发入门篇-第2课-主角及移动.pdfHTC Vive开发入门篇-第2课-主角及移动.pdfHTC Vive开发入门篇-第2课-主角及移动.pdfHTC Vive开发入门篇-第2课-主角及移动.pdfHTC Vive开发入门篇-第2课-主角及移动.pdfHTC ...

    HTC(HTML Component) 入门

    **HTC(HTML Component)入门指南** HTC,全称为HTML Component,是Microsoft在IE浏览器中引入的一种技术,主要用于扩展HTML元素的功能。它允许开发者通过JavaScript或者VBScript编写组件,以增强网页的交互性和...

    HTC技术参考手册 入门手册

    【HTC技术参考手册 入门手册】 HTC(High Tech Computer Corporation)是一家知名的智能手机制造商,以其创新的设计和用户体验著称。"HTC技术参考手册 入门手册" 是为帮助用户更好地理解和使用HTC设备而编写的指南...

    【VR技术开放日】基于HTC+Vive的VR游戏开发入门-冀盼

    在VR技术开放日上,奥秘游戏CTO冀盼发表《基于HTC Vive的VR游戏开发入门》主题演讲。HTC Vive开发VR游戏,硬件需配备头显及双手柄,PC以i5 970为最低配置,设置Room Scale模式,内容分发平台有Steam、Vive及奥秘,...

    HTC.rar_HTC

    该设备是2011年推出的一款入门级Android智能手机,具有良好的性价比,吸引了众多开发者进行定制和优化。 首先,我们来看"HTC G8 获取root权限 超级详细教程.doc"。获取root权限是Android系统中的一个关键步骤,它...

    HTC安卓系统超基础入门图册.pdf

    本文将详细介绍如何手动配置网络接入点,以及如何通过第三方应用实现更便捷的操作,同时还会探讨Android手机的个性化设置,包括开机画面、开机声音以及系统声音的替换。 1. **网络接入点设置** - 对于使用移动2G卡...

    HTC Focus WaveSDK(Unity)-3.0.2.rar

    这些资源涵盖了从基础设置到高级功能的方方面面,使得开发者无论经验水平如何,都能顺利入门。 总的来说,HTC Focus WaveSDK(Unity)3.0.2是VR开发者的得力助手,通过它,开发者可以充分发挥HTC Focus一体机的优势...

    htc sensor sdk

    通过以上对HTC Sensor SDK的详尽介绍,我们可以看到,利用这个工具包,开发者不仅可以轻松地访问G-Sensor,还可以借此开发出各种创新的应用,例如运动健康监测、游戏控制等。对于想要涉足移动设备传感器开发的C#...

    Introduction-To-HTC-Vive-Final-Unity5.5.1.zip

    总之,“Introduction-To-HTC-Vive-Final-Unity5.5.1.zip”是一个全面的入门教程,涵盖了从基础到进阶的HTC Vive开发内容。无论你是游戏开发者、设计师还是对VR技术感兴趣的爱好者,都可以从中受益,开启你的VR开发...

    htc指南

    1. "HTC基础入门" - 这篇文章会带你了解HTC的基本结构和语法,是初学者的良好起点。 2. "JavaScript在HTC中的应用实例" - 通过实际案例,深入理解如何使用JavaScript实现HTC组件的功能。 3. "HTC与现代Web开发的对比...

    HTC Wildfire 快速入門指南

    【HTC Wildfire 快速入门指南】 HTC Wildfire是一款经典的智能手机,属于HTC G系列,型号G8,它在2010年推出,是面向中低端市场的热门选择。这款手机以其紧凑的设计,相对较低的价格,以及当时还算不错的硬件配置受...

    Android编程快速入门——字节跳动.pptx

    iPhone,2007 年 Google 成立开发手机联盟,2008 年 HTC 发布 HTC Dream,2009 年施密特退出 Apple 董事会。 Android 的应用领域非常广泛,包括 Android Mobile、Android Table、Android Wear、Android TV、Android...

    HTC vive开发文档,震动,移动,按键控制,附加委托事件文档

    自己整理总结的HTCvive目前的一些控制API,很适合新手入门,包括委托事件的实例说明,和委托实例

    Nexus S 和 HTC Aria 的驱动

    本文将详细介绍Nexus S和HTC Aria的驱动程序安装及相关的知识点。 首先,我们来了解一下Nexus S。这款手机是Google的首款配备4英寸Super AMOLED屏幕的设备,运行纯净版Android系统,为开发者提供了一个理想的测试...

    Unity开发HTCFocus一体机SDK

    8. **样例项目**:通常SDK会附带一些示例项目,展示如何在Unity中使用SDK功能,为初学者提供快速入门的路径。 9. **文档支持**:完整的SDK文档是必不可少的,它会详细介绍每个接口的用法、最佳实践以及常见问题解决...

    易语言源码易语言HTC风格时钟源码.rar

    然而,对于初学者来说,易语言提供了很好的入门平台,可以通过学习HTC风格时钟源码来提升编程技能。 总之,掌握易语言HTC风格时钟源码不仅能够提升编程技巧,还能帮助你深入理解GUI设计和时间处理机制。通过实践,...

Global site tag (gtag.js) - Google Analytics