转自http://blog.csdn.net/white__cat/article/details/38357499

avascript脚本

[javascript] view plaincopy
  1. <script type="text/javascript"  language="JavaScript">
  2. alert("检查ocx是否安装");
  3. <!-- 第一种 -->
  4. var NewObj;
  5. try {
  6. NewObj = new ActiveXObject("OCXTEST1.OcxTest1Ctrl.1");
  7. var xx=typeof(NewObj);
  8. alert(xx);
  9. if (typeof(NewObj) != 'undefined') {
  10. NewObj = null;
  11. alert("存在111");
  12. <!--return true;-->
  13. }
  14. } catch (e) {
  15. NewObj = null;
  16. alert("不存在222");
  17. <!--return false;-->
  18. }
  19. <!-- 第二种  -->
  20. try{
  21. if(document.all.ocx.object == null) {
  22. alert("控件不存在,您还不能使用此功能!")
  23. }else{
  24. alert("控件已安装");
  25. }
  26. }catch(e){
  27. alert("异常调用")
  28. }
  29. </script>

我们都知道js被设计为不可访问本地资源,因此理论上js无法知道本地是否安装了特定程序。但是凡事无绝对,对于IE,给出如下两种思路:

1 ActiveX

在页面中用js去new一个指定的ActiveX对象,如果抛出异常,则说明目标客户端没有安装。这种方法的问题在于容易弹出安全性提示,但是经过我的试验,编写ocx时实现isafeobject接口并在注册表中写入特定键值,就可以避免弹框。

2 user-agent strings

http://msdn.microsoft.com/en-us/library/ms537503%28v=vs.85%29.aspx

这个方法更加简单,原理是IE在发送http请求时的User-Agent字段的值和注册表有关:注册表中某些特定项的值会被拼接到其中。也就是说我们可以在安装客户端时向注册表的特定位置添加自定义标识,然后在页面中用js判断navigator.userAgent是否包含该标识就可以了。具体说明参考这里

js判断ActiveX控件是否安装相关推荐

  1. js之ActiveX控件使用说明 new ActiveXObject()

    什么是 ActiveX 控件? ActiveX 控件广泛用于 Internet.它们可以通过提供视频.动画内容等来增加浏览的乐趣.不过,这些程序可能出问题或者向您提供不需要的内容.在某些情况下,这些程 ...

  2. JS判断页面控件是否可用

    JS判断页面控件是否可用[原创] 2009-12-08 16:27 如果你看到这篇文章,甚至目前正愁于该问题的困扰,希望你把这篇文章看完.至少下次不会在这个问题上浪费时间. 近期做的项目中涉及到页面控 ...

  3. Delphi第三方组件安装DCU.PAS.DPK.BPL.ActiveX控件

    不是由BORLAND提供的组件叫第三方组件: 安装方法: 南山古桃(nsgtao)首先提醒一下:最好把要安装的文件先复制到Delphi安装目录的Lib目录下再执行下面的操作! 就目前常见的各种形式的组 ...

  4. matlab创建控件失败win7,Win7系统无法安装ActiveX控件的解决方法

    Win7系统无法安装ActiveX控件怎么办?ActiveX控件是网站常用的一款网页辅助工具,有时候我们可能需要安装它,但是却发现浏览器阻止了它安装,那么当你遇到这种情况该怎么办呢?下面小编就给大家带 ...

  5. delphi中的第三方控件如何安装 (转)

    最佳答案 由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组 件的安装方法介绍一下. 1只有一个DCU文件的组件.DCU文件是编译好的单元文件,这样的组件是作者不想把源码 ...

  6. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  7. 使用C#开发ActiveX控件[Obsolete]

    附件下载(源代码+安装文件+教程) 0. 前言 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中.使用ActiveX插件,可以轻松方 ...

  8. delphi中的第三方控件如何安装

    由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组 件的安装方法介绍一下. 1只有一个DCU文件的组件.DCU文件是编译好的单元文件,这样的组件是作者不想把源码公  布. ...

  9. [转]使用C#开发ActiveX控件

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

最新文章

  1. 千万不要再这样创建集合了!极容易内存泄露!
  2. 程序、进程、线程的关系
  3. spss预测变量重要性不可用_C4.5/5.0的SPSS操作
  4. 【项目实战课】基于Pytorch的RetinaFace人脸与关键点检测实战
  5. 回归分析和卡方检验的区别_11个常见的多变量分析方法
  6. 【Python】函数的可变可选参数传递及返回值
  7. 【绝对有用】Syntax error on token “throws“, @ expected after this token
  8. Java / Spring:如何快速生成整个Swagger记录的CRUD REST API
  9. 【Python基础入门系列】第10天:Python 类与对象
  10. SkipList 以及高度的确定
  11. 多频法如何解包裹相位?
  12. Azure站点恢复之----VMM 站点到ASR
  13. iOS开发之开发者账号的申请进度跟进(申请的询问)
  14. Java实习面试一般问什么?选大公司还是小公司?
  15. centos离线安装(升级)nvidia显卡驱动及cuda10.2
  16. 《开源之迷》:每天那么多人念叨的开源,究竟该如何解读?
  17. 锦鲤阅读自动阅读问题解答,小白必看!
  18. ZOC7 for Mac(终端仿真器)含注册码 v7.22.7激活版
  19. PPT提取文字C代码实现
  20. 相似度衡量: 苏剑林博客-1

热门文章

  1. 游戏主程的2018年终总结:从开发到上线,这些事很重要
  2. 第7课 产品经理专业技能之 PRD/BRD/MRD文档撰写
  3. 你的能量超乎你想象-记第23届秦岭马拉松
  4. CANopen中SDO、PDO、以及COB-ID理解
  5. 干式电抗器设备GIM模型要求
  6. 找回word文件的两种密码
  7. SpringMvc零配置,无Web.xml
  8. excel工作簿左侧导航条_Excel工作簿中的高效导航
  9. Go获取windows已经安装的软件详情
  10. java uuid jug实例(采用开源jug)