使用ActiveX控件开发网页常见的问题
文章类别:
asp | 发表日期:2008-10-5 20:52:11
1. 什么是ActiveX 控件?
Microsoft® ActiveX™ 控件是由软件提供商开发的可重用的软件组件。使用 ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。例如,StockTicker控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。
现在,已有1000多个商用的ActiveX控件,开发控件可以使用各种编程语言,如C,C++,下一代的Microsoft Visual Basic®,以及微软公司的 Visual Java开发环境Microsoft Visual J++™。 ActiveX控件一旦被开发出来,设计 和开发人员就可以把它当作预装配组件,用于开发客户程序。以此种方式使用 ActiveX控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程序的设计。
Internet Explorer 3.0是第一个在网页中支持ActiveX控件的网络浏览器。 在Mosaic和 Netscape Navigator中也可以使用ActiveX plug-in for Netscape显示 ActiveX 控件(参见网址 http://www.ncompasslabs.com).
2. Netscape Navigator可以显示 ActiveX 控件吗?
可以,在Netscape Navigator中可以使用 ActiveX plug-in for Netscape显示 ActiveX控件。在Ncompass实验室的网址http://www.ncompasslabs.com/上可以得到测试版的plug-in。Internet Explorer 3.0和MosaicWeb浏览器也可以显示 ActiveX 控件。
3. 现在有哪些工具支持使用 ActiveX控件开发网页?
使用ActiveXControlPad(详见,http://www.microsoft.com/workshop/author/ cpad/),开发人员可以在HTML网页中方便地插入ActiveX控件。按照http://www.microsoft.com/workshop/author/cpad/tutorial-f.htm网址上的 ActiveX Control Pad教程,开发人员可以很方便地学习使用 ActiveX ControlPad。 SoftQuad公司的HoTMetaL Pro也支持在HTML网页上使用 ActiveX控件。 在以后的几个月中,微软公司及其第三方软件供应商还将推出很多支持使用 ActiveX控件进行网页制作的网络制作工具。
4. 只有程序员才能使用 ActiveX控件吗?
了解脚本语言,比如说 Visual Basic Scripting Edition (VBScript) 或 JavaScript™,自然对使用ActiveX控件非常有帮助。但也并非一定要有这样的程序开发基础。对于有些控件来说,需要写一定数量的脚本程序,才能集成到网页中,但大多数ActiveX控件却不需要这样。使用ActiveX Control Pad, 即使是非程序开发人员也可以通过简单的选中和点击将很多控件插入网页。
5.在创建了包含ActiveX控件的网页后,如果用户在自己的机器上浏览该网页,控件是如何在用户终端机上安装和显示的?
当Internet Explorer 3.0遇到含有ActiveX控件(或复合控件)的网页时, 首先检查用户的本地系统注册,察看该组件是否已经安装在本地机上了。如果该组件已经在本地机上, Internet Explorer 3.0显示该网页并激活控件。 如果控件还未在用户本地机上安装,Internet Explorer 3.0将自动地根据 开发者创建网页时的地址定义,从网上找到此控件,并将它安装到本地机上。
6.如何在网页上定义一个地址,使用户访问网页时,控件可以自动下载到用户的计算机上?
网页开发者可以通过给控件设置 CODEBASE 属性提供上述信息。使用ActiveX Control Pad 时,在 ObjectEditor中,可以看见一个属性表,开发者可以很方便地利用该表设置属性。通过设置属性,可以定义URL地址或地址集,通过地址可以在Internet上找到并下载控件。 Internet Explorer3.0正是利用 这些地址信息,定位控件并自动下载组件的。下载之后,网页就出现在本地机上了。在1996年7月的Microsoft Systems Journal上,"Safe Web Surfing with the Internet Component Download Service"一文详细论述了整个 信息定位及下载过程。需要一提的是,许多Microsoft提供的控件(例如,HTML Layout Control)不需要CODEBASE 设置,因为通过ActiveX对象索引(ActiveX Object Index)就可以基于CLSID(控件唯一标识符)自动找到并定位控件。
7. 组件下载时,是否通知用户?
是的。当一个组件需要下载时,Internet Explorer 3.0会缺省地显示一个消息 框,通知用户将要开始下载。用户可以选择终止下载或继续下载。如果控件做过数字签名,会提供一份数字认证书,其中包括提供该控件的软件供应商名字,以及确认该控件未被破坏的有关信息。软件开发者在开发控件时可以做数字签名。签名信息由控件本身携带,因此在下载之前,会自动显示数字验证书,在网页上使用该控件的用户不需要做任何开发工作。
8.控件下载后,放在什么位置?
在缺省情况下,控件下载后要放在\windows\occache目录下的ActiveX控件高速缓存中。
9.如何对待新创建的新版本控件?如果用户计算机上已经有了老板本的控件 Internet Explorer如何知道应该下载新版本的控件?
Internet Explorer 3.0中的组件下载服务(Component Download Service) 提供了版本控制功能,使用此项功能,新版本的控件会被自动检测出来,并可自动下载。在1996年7月的 Microsoft Systems Journal杂志上,"Safe Web Surfing with the Internet Component Download Service"一文 详细论述了整个版本控制过程。
10.ActiveX控件是否有许可权问题?用户下载控件之后能否在自己的网页上使用ActiveX控件。
ActiveX控件提供一套完整的保护机制,可以防止未经许可的用户在网页上使用 ActiveX控件。到目前为止,已经有一些开发工具支持这套机制,例如Visual Basic、Microsoft Access、和 Internet Explorer 3.0 beta2版。 现有的控件授权许可证机制有两种许可形式:开发许可证和运行使用许可证。开发许可证允许许可证的持有者使用控件,利用VisualBasic,ActiveX ControlPad,以及其它有关的开发工具,从事以开发为目的活动。运行使用许可证只允许许可证的持有者在已有的应用或网页中显示控件,不允许将控件插入有关工具中,用于开发目的活动。支持许可证机制是独立控件开发上的工作。有些控件开发商选择了不支持许可证机制的开发策略,因此对任何用户来说,他们开发的控件一旦被安装到本地机上,就可以用于开发。另一些控件开发商只提供免费的运行许可证,而在提供开发许可证时需要收费。需要在网上使用控件的用户,应该详细地阅读控件开发商提供的许可证协议,以确定自己使用控件的权限。
11.为什么有些控件,甚至包括有些Visual Basic 4.0自带的控件,在网页上 都无法用Internet Explorer 3.0显示?
包括VisualBasic4.0中某些控件在内的许多控件都提供了许可证机制。要在网上使用这些控件必须取得相应的运行使用许可证,并将相应的许可证文件放在网页中,否则,在用户终端机上将无法显示该控件。对于某一控件来说,只有控件的合法开发者,才拥有为该控件进行“运行许可权”授权的权利。欲知在网页中获得控件运行许可权的详细过程,请参见ActiveX SDK文档中有关许可 证控制部分(在新的ActiveX Control Pad FAQ中,还有一个具体例子)。 值得一提的是,Microsoft及其第三方合作伙伴也在网上提供了大量的具有免费使用权许可证的ActiveX控件。在网页中使用这些控件时,不需要提交使用权许可证文件。
12.Microsoft现在提供哪些控件? ActiveX Control Pad及Internet Explorer 3.0中有哪些控件?
在Microsoft网址http://www.microsoft.com/activex/gallery/上,提供了一个ActiveX组件图库(ActiveX Component Gallery ),其中给出了 当前可用控件的一个详细列表。表1列出了 Internet Explorer 3.0中的控件, 这些控件可从MSDN库中安装。
值得一提的是,微软和第三方合作伙伴正在不断开发新的控件。其中很多控件已放在微软的ActiveX组件库网址http://www.microsoft.com/activex/gallery中。
13.在哪可以得到这些ActiveX控件?
微软ActiveX组件库(ActiveX Component Gallery)中存着有关信息一及 相关的连接,它们指向微软及第三方开发商提供的各种 ActiveX 控件。
14.第三方软件供应商现在提供那些ActiveX控件?
目前由第三方软件开发商提供的商用控件有1000多种。在微软ActiveX组件库 (ActiveX Component Gallery)中,可以找到开发Internet增强型ActiveX 控件的公司列表。
15.一旦安装好上述ActiveX控件,如何开发使用这些ActiveX控件的网页?
使用ActiveX Control Pad,将这些控件插入到用户HTML网页中。按照ActiveX ControlPad联机教程(http://www.microsoft.com/workshop/author/cpad/tutorial-f.htm)学习如何使用这些工具(参见ActiveXControlPad在http://www. microsoft.com/workshop/author/cpad/的网页)。
16.HTML Layout 控件如何增强了使用ActiveX控件开发网页的能力?
HTML Layout控件支持由W3C公布的扩展HTML,允许在网页上精确定位对象。原先,HTML不允许网页开发者使用X、Y坐标在网页上精确定位元素,也不允许叠盖对象。新增加的的“2-D”布局功能,使开发者可以完成更复杂的设计,为用 户开发出更好的网络应用提供了支持。通过实现新的W3C HTML扩展,HTML Layout控件为在Internet Explorer 3.0中显示的ActiveX控件提供了更先进 的布局选项。HTML Layout控件是Internet Explorer 3.0的新增组件,并被集 成到Internet Explorer 3.0完全安装版中。(HTML Layout控件也是ActiveX ControlPad的一部分,可通过MSDN库安装。由于提供了基于WYSIWYG页的全帧编辑器,ActiveX Control Pad可以与HTML Layout Control相结合使用。 这使得用ActiveX控件开发先进的二维风格的HTML设计变得更加简单。