Javascript 我希望以交互方式检测ActiveX组件何时已安装,并异步刷新页面的一部分
我正在一个网站上工作,我想在安装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
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·斯蒂纳-