我们的客户都安装了6.11版本的ActiveX控件。使用我们软件的新版本,我们将拥有包含一些新功能的7.00版本。现在,如果用户要去特殊的&#34;仅更新&#34;在其上带有<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>
答案 0 :(得分:0)
我认为问题实际上并非JavaScript正在实例化该对象。相反,我相信Internet Explorer(我使用11.x版本)会阻止从弹出窗口更新加载项,但是当从主浏览器窗口启动时允许它。