JS 判断系统是否注册ocx控件
最近在做视频监控的二次开发,自然而然会涉及到了ocx控件。项目中要实现一个需求:如果系统注册了ocx控件就不提示下载信息,反之就提示下载ocx控件信息。
网络上也搜索了很多信息。
方法一:1 在注册表HKEY_LOCAL_MACHINE-> SOFTWARE->Classes->CLSID->classes中找,找得方法是搜索command+F 搜索OCX
会出现ProgID 双击获得数值数据。
2 直接通过js 代码就可以判断了
try{
var obj = new ActiveXObject("数值数据");
alert("已经注册");
} catch(e) {
alert("没有注册");
}
总结:这种方法的缺点 因为ocx是没有认证的activeX控件,IE是禁止的,所以要设置IE浏览器的安全设置。具体怎么设置百度下http://blog.csdn.net/patern_pan/article/category/1142183
这种方法对应用户来说体验是很差的。要设置浏览器,再下载,还要在浏览器中找个半天。
方法二:
//JSP页面
<object id="DPSDK_OCX" classid="CLSID:D3E383B6-765D-448D-9476-DFD8B499926D" ></object>
//JS页面
//我猜测这句话的意思是搜索注册表是否存在classid为D3E383B6-765D-448D-9476-DFD8B499926D的数据。说错了请大神指点
if(document.all.DPSDK_OCX.object == null) {
alert("您未注册视频控件,请先下载注册!");
} else {
alert("已经注册");
}
这种方法简单方便,推荐