DHTML特性是基于浏览器的网络设计发展的结果。以前,如果你想要在IE中添加功能,你必须使用ActiveX控件,这就导致很多安全和程序结构问题。这样微软就开发了HTML Components(HTML组件)标准以作为ActiveX控件的XML替代物。
由于HTML组件是封装的DHTML,你可以将其当成可重复使用的、自包含的文件来使用。HTML组件通常使用VBScript或者Jscript来编写代码。更加先进的特性,比如驱动程序,可以使用WSC(Windows Script Components)或者任何ActiveX程序语言来编写。
使用HTML组件明显的优势是在于你的网络设计变得更加模块化。利用JavaScript源文件(.js),你可以访问和重新使用多个Web页的HTML组件代码。在HTML组件中,可以通过更改一个简单文件来改变一个组件,而不是在整个站点上作每一行的更改。组件也提高了内容和功能上的独立性。
HTML特性提供了很多先进的设计工具,包括扩展的浏览器方法、属性、不同域之间的脚本访问。功能特性可以通过使用脚本动态地从HTML连接或分离。而且,微软还将HTML组件作为.NET网络服务策略的一个完整的部分。
这一技术的明显局限性是它的所有权问题,尽管微软已经将其作为一种标准格式。HTML组件可以支持IE5.0或更高版本。Netscape不会支持DHTML特性。绝大部分的浏览器都忽略了CSS行为特性,但与行为事件、方法、或者属性相关的浏览器将肯定导致非IE软件的错误。
为了能够成功地在一个网络站点上设置DHTML特性,在运行组件之前必须使用一个浏览器检测程序以保证用户可以运行一个合法的IE版本。DHTML特性非常适合于不同的处理环境,比如企业内部局域网。
HTML组件依赖于Windows脚本主机(WSH),因为它们都使用JScript和VBScript来编写。如果用户出于安全的原因而不使用WSH,组件将不会起作用。而且,HTML组件将会受所有安全限制的影响。
如果网络服务器没有分配所有的HTML成分到网页,DHTML特性将不会工作。在使用一个特性之前,你应该使用readyState变量(比如oncontentready和ondocumentready)来检测组件的可利用性,否则,用户将收到很多脚本错误。这方面的更多信息可以参见于MSDN上这一话题。