Internet explorer JavaScript能否检查ActiveX控件';没有加载的版本?

Internet explorer JavaScript能否检查ActiveX控件';没有加载的版本?,internet-explorer,activex,versioning,upgrade,restart,Internet Explorer,Activex,Versioning,Upgrade,Restart,有没有一种方法可以询问IE它安装并启用了哪个版本的ActiveX控件,而不实际加载该控件?我希望在其他浏览器中有类似于navigator.mimeTypes的东西,这样我就可以在不接触插件本身的情况下获取关于插件的元数据。我有控件的CLASSID和它的servername/typename(如果我想加载和实例化,我可以这样做,但我没有);我几乎可以肯定地得到我需要的任何其他识别钥匙 我知道我可以询问它的版本,但在这种情况下,我已经加载了控件。这是不好的,因为(至少在Win7上的IE9中),如果I

有没有一种方法可以询问IE它安装并启用了哪个版本的ActiveX控件,而不实际加载该控件?我希望在其他浏览器中有类似于
navigator.mimeTypes
的东西,这样我就可以在不接触插件本身的情况下获取关于插件的元数据。我有控件的
CLASSID
和它的
servername
/
typename
(如果我想加载和实例化,我可以这样做,但我没有);我几乎可以肯定地得到我需要的任何其他识别钥匙

我知道我可以询问它的版本,但在这种情况下,我已经加载了控件。这是不好的,因为(至少在Win7上的IE9中),如果IE加载了ActiveX控件,然后提示从cab文件安装较新版本,它会告诉用户在允许访问该控件之前重新启动计算机。如果你重新启动IE,它似乎可以正常工作,但我们不能确切地告诉用户忽略提示


在这一点上,我猜答案是“你不能这么做;IE和ActiveX是世界末日的两个骑士”,但我想我已经把它放在那里了。

我还没有尝试过这个,但你可以用条件注释将一些东西组合起来

从中,加载项可以注册带有名称和编号的版本字符串,然后应用标准IE条件注释。如果您想用JavaScript启动它,您可以使用document.write在标记周围写出有条件的注释,然后在适当的情况下触发

同样,由于我还没有尝试过,IE可能不会处理document.write案例中的条件注释,但希望它能处理


最后,请注意,这可能不起作用,但这是未来的你可以解决的问题。

我还没有尝试过这一点,但你可以通过有条件的评论来破解某些东西

从中,加载项可以注册带有名称和编号的版本字符串,然后应用标准IE条件注释。如果您想用JavaScript启动它,您可以使用document.write在标记周围写出有条件的注释,然后在适当的情况下触发

同样,由于我还没有尝试过,IE可能不会处理document.write案例中的条件注释,但希望它能处理

最后,请注意,这可能不起作用,但这是未来你可以解决的问题