js判断ActiveX控件是不是安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断ActiveX控件是不是安装相关的知识,希望对你有一定的参考价值。

if (window.ActiveXObject)
alert("已安装!");
else
alert("ActiveX未安装!");

不知道楼主为什么要用ActiveXObject,
ActiveXObject从IE6开始就支持,但是也仅仅只有IE支持,其他浏览器不支持,会造成不兼容的!
参考技术A window.ActiveXObject 直接这样,返回 布尔值

如何以编程方式确定是不是已安装 ActiveX 控件,以及它或整个 ActiveX 是不是已被禁用?

【中文标题】如何以编程方式确定是不是已安装 ActiveX 控件,以及它或整个 ActiveX 是不是已被禁用?【英文标题】:How do I programmatically determine if an ActiveX control has been installed, and whether it or ActiveX as a whole has been disabled?如何以编程方式确定是否已安装 ActiveX 控件,以及它或整个 ActiveX 是否已被禁用? 【发布时间】:2009-09-14 21:44:59 【问题描述】:

我在服务器端使用 ASP.NET,在客户端使用 JavaScript。

我正在尝试开发一些页面来帮助用户排除故障,我想知道是否有办法以编程方式确定以下内容:

    如果 ActiveX 在 Internet Explorer 中被禁用 如果已安装 ActiveX 控件 如果 ActiveX 控件已安装但已禁用

对于情况 2 和 3,我知道为了检测是否安装了 ActiveX 控件,您将在 JavaScript 中使用以下检查:

function isActiveXControlInstalled(progId, expectedVersion)

    var version;
    try
    
        var instance = new ActiveXObject(progId);
        version = instance.VersionString;
        instance = null;
    
    catch (e)
    
       version = null; // Set version to null, since that is an invalid control version, and the check below will always fail.
    

    return (version >= expectedVersion);

但是,如果控件已安装但禁用,此函数也会返回 false。这两种情况能区分吗?

【问题讨论】:

对不起,我不明白,但是您的尊贵是什么意思? isActiveXControlInstalled 函数无法区分情况 2 和 3。如果未安装活动控件,如果已安装但禁用,它将返回 false。我希望能够区分这些情况,以便向用户显示安装页面或向他们展示如何重新启用控件的页面。 【参考方案1】:

没有。我认为如果它已安装但被禁用,您将无法从您的应用程序中分辨出来。您可以考虑将故障排除页面中的措辞更改为“未安装或已禁用”。

【讨论】:

以上是关于js判断ActiveX控件是不是安装的主要内容,如果未能解决你的问题,请参考以下文章

delphi 中 如何注册ocx文件

安装和更新 ActiveX 控件需要哪些权限?

ActiveX控件之ActiveXObject is not defined

如何确定ActiveX控件安装成功

怎么用js获取IE中ActiveX打印控件的打印机地址和名称

chrome中怎么用js调用activex控件中的方法