首先说下这个方法的优点:
与前一篇文章相比,这一篇的检测控件是否安装过省去了设置ie安全级别的麻烦!
function detectPlugin(CLSID,functionName)
{
var pluginDiv = document.createElement("
")
document.body.insertBefore(pluginDiv);
pluginDiv.innerHTML = '
';
try
{
if(eval("objectForDetectPlugin." + functionName) == undefined)
{
pluginDiv.removeNode(true);//删除pluginDiv及其所有的子元素
return false;
}
else
{
pluginDiv.removeNode(true);//删除pluginDiv及其所有的子元素
return true;
}
}
catch(e)
{
return false;
}
}
这是通用的方法,只需要把唯一的Activex的clsid和任意一个属性或方法名传进来就可以判断了。(找了两个小时才找到 -_-!)
下附测试代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>~~~~</title> </head> <script language="javascript"> function openreg(){ if(detectPlugin('A0F5EA74-8C04-4AF7-B7EA-DCB43F53ED45','CurVersion')==false) { alert("控件未安装"); } } function detectPlugin(CLSID,functionName) { var pluginDiv = document.createElement("pluginDiv\" style=\"display:none\"> ") document.body.insertBefore(pluginDiv); pluginDiv.innerHTML = ' CLSID +'">'; try { if(eval("objectForDetectPlugin." + functionName) == undefined) { pluginDiv.removeNode(true);//删除pluginDiv及其所有的子元素 return false; } else { pluginDiv.removeNode(true);//删除pluginDiv及其所有的子元素 return true; } } catch(e) { return false; } } </script> <body> <p>通过浏览器打开Topteam客户端----测试</p> <p> <input type="button" value="进入系统" onclick="openreg();"/> </p> </body> </html>
|
阅读(1103) | 评论(0) | 转发(0) |