/* * 工具类获取: * 客户端浏览器的类型,版本(version) * 分辨率大小,当前窗口大小 * IP、端口、web工程名称 * ***/ var ClientInfo ={ /** * 拷贝某一个JSON属性到当前对象 *@param selfJSON 当前JSON对象 *@param targetJSON 即将拷贝的JSON对象 *@param override targetJSON属性是否覆盖selfJSON的属性 **/ copyJSON : function(selfJSON,targetJSON,override){ if(!!selfJSON===false){return {};} targetJSON = targetJSON ||{}; override = typeof(override)?override:true; for(var p in targetJSON){ if(override===true){ selfJSON[p] = targetJSON[p]; }else{ if((p in selfJSON)===false){ selfJSON[p] = targetJSON[p]; } } } }, /** * 拷贝某一个JSON属性到当前对象 *@param selfJSON 当前JSON对象 *@param targetJSON 即将拷贝的JSON对象(如果数组的值是K:V形式,那么K是selfJSON属性显示名称,V是targetJSON属性的名称) *@param propArr 拷贝的属性数组 *@param override targetJSON属性是否覆盖selfJSON的属性 **/ copyPros :function(selfJSON,targetObj,propArr,override){ if(!!selfJSON===false){return {};} targetObj = targetObj ||{}; propArr = propArr ||[]; override = typeof(override)?override:true; for(var i=0;i<propArr.length;i++){ var name = propArr[i].split(":")[0];//属性显示的名称 var p = propArr[i].split(":")[1] ||name;//属性原始名称 if(override===true){ selfJSON[p] = targetObj[p]; }else{ if( ((p in selfJSON)===false) && ((p in targetObj)===true)){ selfJSON[name] = targetObj[p]; } } } }, get:function(){ var JSON = {}; var url2 = window.location.href;//"http://172.16.115.34:8080/exchange/"; var reg=/http:\/\/([^\/:]+)(:[0-9]+)?\/([^\/]+)/gi; var res = reg.test(url2); JSON.href=window.location.href; JSON.isIE = (navigator.userAgent.indexOf("MSIE")>=0); JSON.isFF = (navigator.userAgent.indexOf("Firefox")>=0); JSON.isChrome = (navigator.userAgent.indexOf("Chrome")>=0); if(JSON.isIE){ JSON.version = (navigator.userAgent.split("MSIE")[1]).split(";")[0].replace(/ /,''); } if(JSON.isFF){ JSON.version = (navigator.userAgent.split("Firefox/")[1]); } if(JSON.isChrome){ JSON.version = (navigator.userAgent.split("Chrome/")[1]).split("Safari")[0].replace(/ /,''); } if(res==true){ ClientInfo.copyJSON(JSON,{server:RegExp.$1,port:RegExp.$2,sitename:RegExp.$3},false); } ClientInfo.copyPros(JSON,navigator,['userAgent','platform','language','userLanguage','cookieEnabled'],false); ClientInfo.copyPros(JSON,window.screen,["screenWidth:availWidth","screenHeight:availHeight"],false); ClientInfo.copyPros(JSON,window.document.body,["bodyWidth:clientWidth","bodyHeight:clientHeight"],false); return JSON; } } //TODOTEST var json = ClientInfo.get(); top.JSLogger.log(json);
/* FF输出结果: --cookieEnabled=true --href=http://172.16.115.34:8080/exchange/ --isChrome=false --isFF=true --isIE=false --language=zh-CN --platform=Win32 --port=:8080 --screenHeight=728 --screenWidth=1366 --server=172.16.115.34 --sitename=exchange --userAgent=Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18 --version=3.6.18 IE输出结果: --cookieEnabled=true --href=http://172.16.115.34:8080/exchange/ --isChrome=false --isFF=false --isIE=true --platform=Win32 --port=:8080 --screenHeight=728 --screenWidth=1366 --server=172.16.115.34 --sitename=exchange --userAgent=Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN) --userLanguage=zh-cn --version=9.0 */
愤怒的coder - 积少成多。