如何检测ActiveX控件是否已加载?

5

我想在网站上集成Aurigma图像上传器(http://www.aurigma.com/Products/ImageUploader/)。

在Internet Explorer中,该控件是一个ActiveX控件,会在第一次安装之前发出安全提示。

为了向用户说明如何响应该安全警告,我希望显示一个信息窗口。我只想在控件加载时显示此窗口。

  if (controlIsNotLoaded()) {
    doSomething()
  }

我该怎么做?

1
我强烈建议使用Flash上传器(带有HTML备份),而不是自定义ActiveX控件。用户接受度要高得多,您也不会要求人们通过信任新的第三方插件来妥协安全性。Aurigma过去确实存在多个漏洞;我绝不会让它在我的计算机上运行。此外,没有内置的HTML回退,因此您只能将其作为可选的额外上传机制提供。 - bobince
@bobince:谢谢建议。我想使用基于Flash的上传工具会更开心。你有什么推荐吗? - Silvan Mühlemann
这里有一些建议:https://dev59.com/SXVC5IYBdhLWcg3wsTjv。 - bobince
1个回答

7
假设您有对象标记的id(如果是来自该标记),那么请检查该元素的对象属性是否为null。
function controlNotLoaded()
{
     var obj = document.getElementById("controlId");
     return (obj.object == null);
}

如果您正在使用新的ActiveXObject,则会引发异常。当然,这只能告诉您控件无法创建,而不能告诉您为什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接