在javascript / vb“new ActiveXObject()”中使用的对象的技术名称是什么?

时间:2011-12-13 10:45:21

标签: javascript c++ vbscript activex atl

您可以在Windows的javascript / vb shell中创建对象,如下所示:

x = new ActiveXObject("name");
x.aMethod();

他们的技术名称是什么(ATL?ActiveX?ActiveX控件?自动化?或......?)

他们与IE中使用的对象不同的方式如何:

<object id="aName" classid="CLSID:1234567-..." codebase="http://somewhere"></object>

3 个答案:

答案 0 :(得分:3)

  

它们的技术名称是什么(ATL?ActiveX?ActiveX控件?自动化?或......?)

Internet Explorer同时指 ActiveX控件(请参阅下图中的 Type 列)

  • ATL(活动模板库)是指一个简化COM对象(包括ActiveX控件)创建的库。
  • 自动化是指用于构建ActiveX控件的进程间通信的技术。 ActiveX控件可以称为自动化对象
  

它们与IE中可以以这种方式使用的对象有何不同

通过JavaScript实例化的ActiveX控件由程序标识符(ProgID)引用,并且没有用户界面。作为<object>标记放置在文档中的控件(通常称为用户控件)由类标识符(ClassID)指定,可能具有用户界面。 <object>标记还会继承HTML元素的各种特征。

答案 1 :(得分:1)

从MSDN中的ActiveXObject函数文档:

提供自动化对象的接口的对象。

自动化对象是一个COM对象,其类公开IDispatch。

严格来说,ActiveX控件是为容器设计的。像IOleObject和IOleControl这样的OLE接口定义了控件与其主机之间的契约。 ActiveX可能会也可能不会通过IDispatch提供自动化接口。如果ActiveX确实提供了自动化接口,我们将其称为双接口ActiveX或可编写脚本的ActiveX,这意味着ActiveX可以用于后期绑定语言,如Jscript。

ATL是Visual C ++中的类库。它设计用于编写ActiveX,是的,但它也可以用于编写Windows服务和其他库(例如MFC)和应用程序。当然,在编写ActiveX时没有必要,在发明之前有许多ActiveX控件。

还有许多其他组件也与ActiveX相关联。 ActiveX文档(例如Adobe Reader,Microsoft Word)是一种可以托管在ActiveX文档服务器中的文档,例如Internet Explorer框架。启用ActiveX的应用程序(例如Microsoft Word,Windows Media Player)在其自己的进程中运行,但可以通过自动化界面自动执行。

答案 2 :(得分:0)

这个后期绑定对象系列通常被称为COM(公共对象模型)对象。松散应用的术语“COM”通常包含任何OLE,OLE自动化,ActiveX,COM +或DCOM对象。从本质上讲,这是通过任意数量的技术提供脚本化(IUnknown)接口的任何对象。