Javascript 我希望以交互方式检测ActiveX组件何时已安装,并异步刷新页面的一部分

Javascript 我希望以交互方式检测ActiveX组件何时已安装,并异步刷新页面的一部分,javascript,activex,Javascript,Activex,我正在一个网站上工作,我想在安装ActiveX组件后刷新页面的一部分。我对如何进行投票有一个大致的想法,我正在着手进行投票: function detectComponentThenSleep(){ try{ // Call what I want ActiveX for, if the method is available, or // ActiveXComponent.object == null --- test for existance

我正在一个网站上工作,我想在安装ActiveX组件后刷新页面的一部分。我对如何进行投票有一个大致的想法,我正在着手进行投票:

function detectComponentThenSleep(){

   try{
       // Call what I want ActiveX for, if the method is available, or 
       // ActiveXComponent.object == null --- test for existance
       document.getElementById("ActiveXComponent").someMethod(); 
   }
   catch{
       // Try again, if the method is not available
       setTimeout(detectComponentThenSleep, 100);
   } 
 }
然而,我真正想做的是:

 ActiveXObject.addListener("onInstall", myfunction); 
我实际上没有ActiveX组件的源代码,但我可以完全控制托管它的页面。如果可能的话,我想使用JavaScript来实现这一点

所以,我的问题是1。)这真的适用于轮询方法吗?有没有类似于中断/侦听器的方法?我确信我在这里连接点时遗漏了一些东西,我已经可以检测到组件是否存在,但是我在异步执行时遇到了问题

非常感谢您的时间和帮助

-Brian J.Stinar-

1。)这在轮询方法中根本不起作用。 2.)我找不到一种中断/侦听器方法来执行此操作

最后我把整个ActiveX组件放到了它自己的页面上。ActiveX在安装时会进行页面刷新,因此我只是将默认页面行为作为组件不可用时希望发生的事情。这与我试图做的不同,但对我来说效果不错

我建议任何处于类似情况的人将ActiveX组件放在自己的页面上,并从该页面来回传递数据。否则,你可能会遇到很多我遇到的问题


-Brian J.Stinar-

您可以使用iframe’d页面,它可以处理整个事情并获得“异步”的感觉……非常感谢您的建议。这是在我的单独页面解决方案之后得出的一个非常合乎逻辑的结论,我希望当时我已经实现了你的想法。如果我的客户想重新设计,我一定会尝试这个想法。非常感谢你。我真的很喜欢你的建议-布莱恩·J·斯蒂纳-