问题描述
- 如何在Javascript中判断客户端是否安装插件或OCX是否注册,并且能兼容不同的浏览器
-
我想实现的功能是:用户访问网站时,判断客户端机器上是否有安装指定程序或某个OCX是否注册,如果没有则自动弹出下载包提示安装(下载包安装时会自动安装几个插件和程序,并注册一些OCX),那么只要判断其中某个程序有没有安装或某个OCX有没有注册就行了。
我是试了几种方法都不行:
1.判断注册后的OCX文件是否存在:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var et = fso.FileExists('C:WindowsSysWOW64myocx.ocx');
if (et)alert('SysWOW64: myocx存在');
elsealert('SysWOW64: myocx不存在');
用这个方法在IE中是可以实现,但会有安全警告弹出,而且ActiveXObject在360浏览器中不支持,说无法创建对象。2.读取注册表中某个项是否存在,存在表示我的下载包有安装过(下载包安装时可以写一些注册表项):
var obj = new ActiveXObject("WScript.Shell");
//接来下读取注册表项(略)
我发现上面这一句代码也是在IE下可以执行,在其他浏览器下会出错。
所以请教各位大侠,有什么方法可以实现上述功能,但又不受安全级别限制,还可以兼容不同的浏览器。不限于JavaScript,用其他方法也可以,只要是在客户端能实现这个功能就行。补充:我们平时用的银行网站,第一次访问时会提示下载安装插件,安装完后下载再访问就不会再提示了,而且换成360等其他浏览器,它也知道本机已经装了插件,不会再提示了。我就想实现这样的功能。谢谢了!!!
问题解决立即送分!
时间: 2024-09-19 20:33:49