为 JavaScript 封装 ActiveX

Encapsulate ActiveX for JavaScript

我正在尝试开发一个可以使用特定邮件程序 (lotus-notes) 的网站,但为此,我需要使用通常使用 ActiveXObject() 对象创建的应用程序创建会话.问题是我不会是网站的最终用户,我不想创建一个用户不友好的网站,总是要求用户添加扩展以使网站功能正常工作。

我正在尽最大努力寻找使用 ActivateXObject() 的解决方法,以我能做到的最好方式封装应用程序,所以是否有任何类型的插件可以通过 JavaScript 添加到我的网站以便使用 ActiveXObject() 或任何等效函数?

不,没有。要创建 COM 对象(ActiveXObject 所做的),您需要使用本机支持 ActiveX 的浏览器(旧 IE)或可以使用 and/or 编写旧式的浏览器(NPAPI) "plugin" 上。

由于围绕它的安全问题,所有主流浏览器都已停止或主动(没有双关语)停止支持 NPAPI 插件机制。

例如,我认为 SilverLight 插件可能已经能够创建 COM 对象,但由于它是作为 NPAPI 插件实现的,它正在迅速消失(并且在 2012 年被微软停用;它们支持 SilverLight 5到 2021 年,但这对你没有帮助)。

目前没有替代技术可以在标准浏览器中从网页中的 JavaScript 代码 运行 创建 COM 对象。

我有一个使用 Javascript 从常规网页调用的 COM 对象。 我还直接调用 Domino 数据库(IBM Notes 使用的数据库)。

您可以做的是在服务器上编写所有功能,然后使用 Javascript 从浏览器调用这些功能。只需围绕要向 Web 应用程序公开的功能构建一个包装器。然后,您可以对服务器执行 Ajax 调用以执行操作或检索数据。

您可以在以下两个演示文稿中找到更多信息:

http://blog.texasswede.com/mwlug-2015/

http://blog.texasswede.com/my-connect-2016-presentation-demo-database/