ActiveX是什么~ ~ ~它有什么功能?
根据微软权威软件开发指南MSDN(Microsoft Developer Network)的定义,ActiveX插件过去被称为OLE控件或OCX控件。它们是一些可以插入网页或其他应用程序的软件组件或对象。
ActiveX内容
[编辑此段落]
ActiveX控件
ActiveX以前称为OLE控件或OCX控件,是一种封装组件(或对象)和由他人编程的功能,以便您可以在网页或其他程序中重用插入内容。例如,InternetExplorer提供的ActiveX控件可用于增强具有复杂格式的网页的功能和动画。
通过Java程序和Netscape插件实现ActiveX控件的关键优势在于,它还可以用于许多编程语言,包括所有的微软编程和数据库语言。
ActiveX文档
使用ActiveX标识Web浏览器,如InternetExplorer。浏览时,ActiveX文档使您能够使用自己的工具栏和菜单来打开程序。这意味着您可以使用支持ActiveX的Web浏览器打开非HTML文件,如MicrosoftExcel或MicrosoftWord文件。
ActiveX脚本
ActiveX脚本支持最常用的脚本语言,包括Microsoft VisualBasic脚本和JavaScript。ActiveX脚本可用于集成几个ActiveX控件或Java程序的行为,以从Web浏览器或服务器扩展它们的功能。
ActiveX的特点
[编辑此段落]
在互联网上,ActiveX插件软件的特点是:一般软件需要用户单独下载后再安装,而ActiveX插件可以在用户浏览到特定网页时,由IE浏览器自动下载,并提示用户安装。安装ActiveX插件的先决条件是它们必须得到用户的批准和确认。
ActiveX插件技术是国际上通用的基于Windows平台的软件技术。除了网络实名插件,很多软件都是这样开发的,比如Flash动画播放器插件,微软MediaPlayer插件,CNNIC通用网站插件。
相关内容
[编辑此段落]
1.浏览器如何保证ActiveX插件的安全性?
当通过互联网分发软件时,软件的安全性是一个非常值得注意的问题。IE浏览器通过以下方式确保ActiveX插件的安全性:
ActiveX使用两种互补的策略:安全级别和认证来追求进一步的软件安全性;
Microsoft提供了一组工具,可用于提高ActiveX对象的安全性;
通过微软的验证码工具,你可以给一个ActiveX控件签名,它告诉用户你确实是这个控件的作者,没有其他人篡改过它。
为了使用验证码工具来签署组件,必须从认证机构获得数字证书;证书包含指示特定软件程序是正版的信息,这确保其他程序不能再使用原始程序的徽标。证书还记录了签发日期。当您尝试下载该软件时,Internet Explorer会验证证书中的信息以及当前日期是否早于证书的到期日期。如果信息在下载时不是最新的和有效的,Internet Explorer将显示警告;
在IE默认的安全级别中,在安装ActiveX控件之前,用户可以根据自己对软件发行商和软件本身的信任程度,选择是否继续安装和运行软件。
在最新的IE 7中,安全性得到了进一步的提升。
2.关于三个概念:ActiveX,OLE,COM。
熟悉面向对象编程和网络编程的人一定熟悉ActiveX、OLE和COM/DCOM的概念,但它们之间是什么样的关系,很多同学还很模糊。在详细介绍它们的关系之前,首先要明确组件和对象的区别。组件是可重用的模块,是由一组处理过程、数据封装和用户界面组成的规则对象。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:1)组件可以在另一个叫做容器的应用程序中使用(有时叫做载体或主机)或者作为一个独立的进程使用;2)一个组件可以由一个类、多个类或者一个完整的应用组成;3)组件被模块重用,对象被代码重用。目前比较流行的组件模型有COM(组件对象模型)/DCOM(分布式COM)和CORBA(通用对象请求代理架构)。至此,与本文相关的话题COM已经出现,而CORBA与本文无关,就不介绍了。之所以说组件和对象的区别,是为了明确COM和CORBA是整个架构的底层。如果你暂时不能理解这一点,不妨继续读下去,最后你回头看的时候就明白了。现在,将解释ActiveX、OLE和COM之间的关系。首先让大家有个整体概念。从时间上看,OLE最先出现,其次是COM和ActiveX。从架构上看,OLE和ActiveX都是建立在COM之上的,所以COM是基础。从名称上看,OLE和ActiveX是两个品牌名称,而COM则是一个纯技术术语,这也是为什么人们对ActiveX和OLE的听到更多的原因。既然OLE最早出现,那就从OLE说起吧。自Windows操作系统普及以来,“剪贴板”首先解决了不同程序之间的通信问题(利用剪贴板作为数据交换中心进行复制粘贴),但剪贴板传输的是“死”数据,应用程序开发者要自己编写和分析数据格式代码。因此,动态数据交换(DDE)的通信协议应运而生,它允许应用程序自动获取彼此的最新数据。但是,解决它们之间的“数据格式”转换仍然是程序员的沉重负担。对象链接与嵌入(OLE)的诞生,将原来应用程序的数据交换改进为“对象交换”,使得程序不仅可以获取数据还可以获取对方的应用对象,可以直接使用对方的数据内容。其实OLE是微软的复合文档技术,最初的版本只针对复合文档,但是在后来的OLE2版本中,导入了COM。可见COM是在OLE的需求下诞生的,所以虽然COM是OLE的基础,但是OLE是在COM之前产生的。COM的基本出发点是让一个软件通过一个公共的组织为另一个软件提供服务。COM是在OLE的需求下诞生的,但它的第一个用户是OLE2,所以COM和复合文档并没有太大的关系。事实上,COM作为一种与复合文档完全无关的技术被广泛使用。这样,微软开始“染指”通用平台技术。但COM不是产品,它需要一个品牌名称。当时微软的营销专家已经选择OLE作为商标名,于是每个使用COM技术的人都开始给OLE贴标签。虽然这些技术大多与复合文档无关。微软的这种做法让人误以为OLE只指复合文档。或者不仅仅是复合文档?其实OLE是COM的商标名,自然不仅仅指复合文档。但恐怕微软自己也解释不清楚,这就需要相当大的精力和时间。然后随着互联网的发展,1996年春天,微软改变主意,选择ActiveX作为新的商标名称。ActiveX指的是基于COM的松散定义的技术集合,而OLE仍然仅指复合文档。当然,ActiveX的核心技术是COM。ActiveX和OLE最大的区别在于,OLE的目标是应用软件和桌面上文件的集成,而ActiveX主要提供进一步的网络应用和用户交互。至此,大家应该对ActiveX、OLE、COM之间的关系有了清晰的认识。COM是最根本的核心技术,所以下面重点介绍COM。让对象模型完全独立于编程语言是一个非常新颖的想法。这一点可以从C++和Java的对象概念来理解。但是所谓的COM对象是什么呢?为了便于理解,可以把COM看作是一种封装技术,即把它看作是软件的不同部分,按照一定的面向对象的形式组合成交互的进程和支持的库。COM对象可以用任何语言编写,如C++、Java、VB等,并可以针对不同的进程以dll或可执行文件的形式实现。使用COM对象的浏览器不需要关心对象是用什么语言编写的,或者它是在DLL还是在另一个进程中执行的。从浏览器端来看,没有区别。这种通用的处理技术非常有用。比如用户协同运行的两个应用,可以把它们的* * *和作业部分实现为COM对象之间的交互(当然现在OLE复合文档也可以做到)。为了在浏览器中执行从Web服务器下载的代码,浏览器可以将其视为COM对象,也就是说,COM技术也是封装可下载代码的标准方法(ActiveX控件执行该功能)。甚至应用程序与本机OS交互的方法也可以由COM指定,例如在Windows和Windows中。
NT中使用了新的API,大部分都被定义为COM对象。可以看出,COM虽然起源于复合文档,但却可以有效地应用于很多软件问题。毕竟是底层的基础技术。总之,COM是一种独立于语言的组件架构,允许组件之间相互通信。随着计算机网络的发展,COM进一步发展成为分布式组件对象模型,这就是DCOM,类似于CORBA的ORB,本文不再赘述。相信通过上面的描述,你一定对ActiveX、OLE和COM/DCOM的关系有了清晰的认识。
评论
[编辑此段落]
在编辑过程中,采用了一些机器翻译的内容。
记名票据
[编辑此段落]
2008年,ActiveX位列微软十大垃圾软件之首。..