如何允许 ActiveX 对象在 JavaScript 中实例化之前安装更新的版本

How do you allow an ActiveX object to install an updated version before instantiating it in JavaScript?

本文关键字:安装 更新 版本 实例化 ActiveX 何允许 对象 JavaScript      更新时间:2023-09-26

我们的客户都安装了 ActiveX 控件的 6.11 版本。随着我们软件的新版本,我们将拥有一个包含一些新功能的 7.00 版本。现在,如果用户要转到带有<OBJECT>标签的特殊"仅更新"页面,系统将提示他们安装该软件,并且更新将毫无问题地安装。

然而,这将对我们目前的设置和客户的期望产生重大变化。客户端期望升级到较新的软件,并立即使用实例化 ActiveX 对象并提供功能的软件页面。在其中一些页面上,使用该对象的 JavaScript 不会立即运行(即由 body onload 事件触发(。在这些情况下,ActiveX 控件将更新到较新的版本。

但是在尝试使用该对象的页面上,不知何故更新不成功。安装软件的对话框出现,JavaScript 直到之后才会触发。但不知何故,它被阻止了。有没有办法配置代码,以便对象成功更新,然后 JavaScript 可以启动并使用具有新功能的(更新的(对象?

<html>
<head><script>window.onload = function() { obj.DoNewThing(); }</script></head>
<body>
<object id="obj" classid="CLSID:AA4123A4-A567-890A-AA12-3AA4A56A7A8A" codebase="/controls/obj.cab#Version=7,0,0,0"></object>
</body>
</html>
我相信

问题实际上不在于JavaScript正在实例化对象。相反,我相信Internet Explorer(我使用的是11.x版本(阻止从弹出窗口更新附加组件,但在从主浏览器窗口启动时允许它。