[转载]js 获取多个mac地址(支持火狐与google) – 一天进步一点 – ITeye技术网站.
BS项目中要实现mac地址验证,只能在js获取mac地址,而网络上很多写法都是调用微软ActiveX,而此有几个缺点:
1: IE核心浏览器会弹出提示,很多客户会误以为是病毒,而点击否
2: 不支持非IE浏览器
3: 无法跨平台
所以只能采用别的处理办法,那能不能从别的地方下手呢?
答案是肯定的,一下是我的想法,大家可以在我的基础上进行拓展。
1: js读取xml
2: 通过批处理获取mac地址并生成XML
以下是代码:
html 通过js获取xml文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> </BODY> </HTML> <SCRIPT> var progId, progIds = ["MSXML2.XMLHTTP.6.0" , "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; function getXMLHttpRequest() { if (!window.ActiveXObject) { return new XMLHttpRequest(); } else if (progId != null) { return new ActiveXObject(progId); } else { for (var i = 0; i < progIds.length; i++) { try { return new ActiveXObject(progId = progIds[i]); } catch (ex) { progId = null; } } } } function loadClass(src) { try { var xmlHttp = getXMLHttpRequest(); xmlHttp.open("GET", src, false); xmlHttp.send(null); var stus = xmlHttp.status; if (stus == 200 || stus == 0 || stus == 304) { return xmlHttp.responseText; } }catch(ex){ alert("error!"); } } var e = loadClass("c:\\WINDOWS\\system32\\22.xml"); alert(e); </SCRIPT>
通过bat 生成dos
@ECHO OFF color 01a @ECHO 系统启动中,请不要中断 C: if not exist "c:\WINDOWS\system32\22.XML" ( for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"')do echo %%b>>c:\WINDOWS\system32\22.xml ) ping /n 2 127.1 >nul rem 地址修改成需要的地址 start http://localhost/ @ECHO 恭喜你 启动成功 pause