taoxming 2014-07-02 09:38
浏览 2837

如何在Javascript中判断客户端是否安装插件或OCX是否注册,并且能兼容不同的浏览器

我想实现的功能是:用户访问网站时,判断客户端机器上是否有安装指定程序或某个OCX是否注册,如果没有则自动弹出下载包提示安装(下载包安装时会自动安装几个插件和程序,并注册一些OCX),那么只要判断其中某个程序有没有安装或某个OCX有没有注册就行了。
我是试了几种方法都不行:
1.判断注册后的OCX文件是否存在:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var et = fso.FileExists('C:\Windows\SysWOW64\myocx.ocx');
if (et)

alert('SysWOW64: myocx存在');
else

alert('SysWOW64: myocx不存在');
用这个方法在IE中是可以实现,但会有安全警告弹出,而且ActiveXObject在360浏览器中不支持,说无法创建对象。

2.读取注册表中某个项是否存在,存在表示我的下载包有安装过(下载包安装时可以写一些注册表项):
var obj = new ActiveXObject("WScript.Shell");
//接来下读取注册表项(略)
我发现上面这一句代码也是在IE下可以执行,在其他浏览器下会出错。
所以请教各位大侠,有什么方法可以实现上述功能,但又不受安全级别限制,还可以兼容不同的浏览器。不限于JavaScript,用其他方法也可以,只要是在客户端能实现这个功能就行。

补充:我们平时用的银行网站,第一次访问时会提示下载安装插件,安装完后下载再访问就不会再提示了,而且换成360等其他浏览器,它也知道本机已经装了插件,不会再提示了。我就想实现这样的功能。谢谢了!!!
问题解决立即送分!

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的
    • ¥15 r语言蛋白组学相关问题