主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器。
具体详解与步骤看文档中:
DotNetFX 文件夹附件文件:(可能安装时需用)
dotnetfx.exe (.net Framework 2.0)
instmsia.exe
langpack.exe
WindowsInstaller-KB893803-v2-x86.exe
<div id="crmscontaier"> 插件安装不正常请点击<a href="/DBMS/ActiveX/Setup.msi"><span style="color: #317EBD; font-weight: bold; font-size: 16px;">【这里】</span></a>下载手动安装。然后刷新该页面! <object id="test" style="display: none" classid="clsid:FED17702-5CFB-41fd-95CB-1A947854C67A" codebase="/DBMS/ActiveX/Setup.msi" width="404" height="400" /> </div>
var Getmacaddr = document.getElementById("test"); var mac = ""; try { mac = Getmacaddr.GetOfMACAddr(); } catch (ex) { document.getElementById("crmscontaier").style.display = "block"; alert("辅助插件未安装,请先安装插件,否则程序会发生错误!") return; } //判断是否安装插件,获取mac function macaddr() { var Getmacaddr = document.getElementById("test"); alert(Getmacaddr.GetOfMACAddr()); } //获取硬盘ID function DiskID() { var Getmacaddr = document.getElementById("test"); alert(Getmacaddr.GetDiskID()); } //判断是否已安装插件 function kkk() { var crmsactivex = document.getElementById("test"); try { if (crmsactivex.GetReady()) { } } catch (ex) { document.getElementById("crmscontaier").style.display = "block"; alert("辅助插件未安装,请先安装插件!") return; } }
如何在JS代码中判断客户端ocx控件是否注册成功
经常在ie中使用ocx控件,所以检测客户端机器上是否已安装变的异常重要。
找到ocx控件的ID, 这个值在注册表中HKEY_LOCAL_MACHINE-> SOFTWARE->Classes->CLSID->我的控件CLSID->progID对应的数值数据。
如果有Microsoft Visual Studio Tools的 ActiveX Control Test Container,可以选择File->Register Controls,在Register Controls窗口找到自己的控件的PorgID.
直接通过js 代码就可以判断了
try{
var obj = new ActiveXObject("控件ID");
alert("已经注册");
}
catch(e)
{
alert("没有注册");
}