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

时间:2010-02-03 00:25:23

标签: javascript activex

我正在网站上工作,我想在安装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.)这实际上是否适用于轮询方法? 2.)是否有像这样做的中断/监听器?我确信我在这里连接点时遗漏了一些东西,我已经可以检测到组件是否存在,但我无法异步执行此操作。

非常感谢你的时间和帮助,

-Brian J. Stinar -

1 个答案:

答案 0 :(得分:0)

1。)这对于轮询方法根本不起作用。 2.)我找不到这样做的中断/监听方式。

我最终只是将整个ActiveX组件放在它自己的页面上。 ActiveX在安装时刷新页面,因此我只是将默认页面行为作为组件不可用时我想要发生的行为。这与我试图做的不同,但它对我的目的起作用。

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

-Brian J. Stinar -