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

Posted

技术标签:

【中文标题】javascript/vb“new ActiveXObject()”中使用的对象的技术名称是啥?【英文标题】:What's the technical name for Objects used in javascript/vb "new ActiveXObject()"?javascript/vb“new ActiveXObject()”中使用的对象的技术名称是什么? 【发布时间】:2012-01-19 05:53:17 【问题描述】:

您可以像这样在 Windows 的 javascript/vb shell 中创建一些对象:

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

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

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

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

【问题讨论】:

它们不叫 ActiveX 对象吗? nop(基于en.wikipedia.org/wiki/ActiveX) 好吧,实际上我只听说过它们被称为“ActiveX 对象”或“ActiveX 控件”。 (除非你想回到十年左右,我们称它们为“COM 对象”或“COM 控件”。) 是的,似乎命名从来都不是准确的,人们将它们都称为“ActiveX 对象/控件”,但必须有区别或确切的名称(ActiveX 服务器组件或 ATL COM 对象例如?) 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

Internet Explorer 将两者都称为 ActiveX 控件(请参阅下图中的 类型 列)

ATL(活动模板库)是指简化 COM 对象(包括 ActiveX 控件)创建的库。 自动化是指进程间通信的技术,ActiveX 控件是在此基础上构建的。 ActiveX 控件可能被称为自动化对象

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

通过 JavaScript 实例化的 ActiveX 控件由 Programmatic Identifier (ProgID) 引用,并且没有用户界面。以&lt;object&gt;标签放置在文档中的控件,通常称为用户控件,由类标识符(ClassID)指定,可能有用户界面。 &lt;object&gt; 标签还继承了 html 元素的各种特征。

【讨论】:

【参考方案3】:

来自 MSDN 中 ActiveXObject 函数的文档:

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

自动化对象是其类公开 IDispatch 的 COM 对象。

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

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

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

【讨论】:

以上是关于javascript/vb“new ActiveXObject()”中使用的对象的技术名称是啥?的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ 算法基础

C/C++ 算法基础

python解析JSON数据结构