Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
/**
*@authorhechen
*/
vargs={
/**获得屏幕宽度**/
ScreenWidth:function(){
returnwindow.screen.width;
},
/***获得屏幕高度**/
ScreenHeight:function(){
returnwindow.screen.height;
},
/**获得浏览器***/
Browse:function(){
varbrowser={};
varuserAgent=navigator.userAgent.toLowerCase();
vars;
(s=userAgent.match(/msie([\d.]+)/))?browser.ie=s[1]:(s=userAgent.match(/firefox\/([\d.]+)/))?browser.firefox=s[1]:(s=userAgent.match(/chrome\/([\d.]+)/))?browser.chrome=s[1]:(s=userAgent.match(/opera.([\d.]+)/))?browser.opera=s[1]:(s=userAgent.match(/version\/([\d.]+).*safari/))?browser.safari=s[1]:0;
varversion="";
if(browser.ie){
version='IE'+browser.ie;
}
else{
if(browser.firefox){
version='firefox'+browser.firefox;
}
else{
if(browser.chrome){
version='chrome'+browser.chrome;
}
else{
if(browser.opera){
version='opera'+browser.opera;
}
else{
if(browser.safari){
version='safari'+browser.safari;
}
else{
version='未知浏览器';
}
}
}
}
}
returnversion;
},
/**获得操作系统***/
ClientOs:function(){
varsUserAgent=navigator.userAgent;
varisWin=(navigator.platform=="Win32")||(navigator.platform=="Windows");
varisMac=(navigator.platform=="Mac68K")||(navigator.platform=="MacPPC")||(navigator.platform=="Macintosh")||(navigator.platform=="MacIntel");
if(isMac)
return"Mac";
varisUnix=(navigator.platform=="X11")&&!isWin&&!isMac;
if(isUnix)
return"Unix";
varisLinux=(String(navigator.platform).indexOf("Linux")>-1);
if(isLinux)
return"Linux";
if(isWin){
varisWin2K=sUserAgent.indexOf("WindowsNT5.0")>-1||sUserAgent.indexOf("Windows2000")>-1;
if(isWin2K)
return"Win2000";
varisWinXP=sUserAgent.indexOf("WindowsNT5.1")>-1||sUserAgent.indexOf("WindowsXP")>-1;
if(isWinXP)
return"WinXP";
varisWin2003=sUserAgent.indexOf("WindowsNT5.2")>-1||sUserAgent.indexOf("Windows2003")>-1;
if(isWin2003)
return"Win2003";
varisWinVista=sUserAgent.indexOf("WindowsNT6.0")>-1||sUserAgent.indexOf("WindowsVista")>-1;
if(isWinVista)
return"WinVista";
varisWin7=sUserAgent.indexOf("WindowsNT6.1")>-1||sUserAgent.indexOf("Windows7")>-1;
if(isWin7)
return"Win7";
}
return"other";
},
/****获得客户端ID****/
ClientID:function(name){
varcookies=document.cookie.split(";");
varvalue="";
for(vari=0;i<cookies.length;i++){
vartemp=cookies[i].split("=");
vartempValue=temp[0].replace(/(^\s*)|(\s*$)/g,"");
if(tempValue==name){
value=unescape(temp[1]);
break;
}
}
returnvalue;
},
/****获得商品ID****/
SearchGid:function(){
varurl=window.location.href;
varvalue="";
if(url!=undefined&&url!=""){
url.replace(/-\d+-/,function(a,b,c){
if(a!=undefined&&a!=""&&a.length>2){
value=a.substring(1,a.length-1);
}
});
}
returnvalue;
},
/****获得站内搜索关键字****/
SearchKey:function(){
varurl=window.location.href;
varvalue="";
if(url!=undefined&&url!=""){
url.replace(/[=].*/,function(a,b,c){
if(a!=undefined&&a!=""&&a.length>1){
value=a.substring(1);
}
});
}
returnvalue;
},
/**获得商品分类搜索编号**/
SearchCategory:function(){
varurl=window.location.href;
varvalue="";
if(url!=undefined&&url!=""){
url.replace(/-\d+/,function(a,b,c){
if(a!=undefined&&a!=""&&a.length>1){
value=a.substring(1);
}
});
}
returnvalue;
},
/****站外搜索Google百度*****/
SearchSite:function(type){
varreferrer=document.referrer;
if(referrer!=undefined&&referrer!=""){
if("google"==type){
url.replace(newRegExp("(?:^|/?|&)q=([^&]*)(?:&|$)"),function(a,b,c){
if(this._ch!=undefined&&a!=undefined&&a.length>0){
a=a.substring(a.indexOf("=")+1,a.length-1);
returna;
}
});
}elseif("baidu"==type){
url.replace(newRegExp("(?:^|/?|&)wd=([^&]*)(?:&|$)"),function(a,b,c){
if(this._ch!=undefined&&a!=undefined&&a.length>0){
a=a.substring(a.indexOf("=")+1,a.length-1);
returna;
}
});
}elseif("sogou"==type){
url.replace(newRegExp("(?:^|/?|&)query=([^&]*)(?:&|$)"),function(a,b,c){
if(this._ch!=undefined&&a!=undefined&&a.length>0){
a=a.substring(a.indexOf("=")+1,a.length-1);
returna;
}
});
}elseif("bing"==type){
url.replace(newRegExp("(?:^|/?|&)q=([^&]*)(?:&|$)"),function(a,b,c){
if(this._ch!=undefined&&a!=undefined&&a.length>0){
a=a.substring(a.indexOf("=")+1,a.length-1);
returna;
}
});
}
}
return"";
},
/******将值插入到数组中*********/
PushValue:function(key,value){
if(this._ch!=undefined){
this._ch[key]=value;
}
},
/***自定义参数**/
Param:function(value){
if(this._ch!=undefined){
this._ch["_ps"]=value;
}
},
/******提交数据到后台**********/
PostData:function(){
$.ajax({
url:"http://localhost:28482/Ajax/StatActions.aspx?t="+Math.random(),
type:"post",
data:this._ch,
success:function(data){}
});
},
/***初始化**/
Init:function(){
if(this._ch!=undefined){
this._ch=undefined;
}
this._ch={};
if(this._Reg!=undefined){
this._Reg=undefined;
}
//初始化正则表达式匹配URL
this._Reg=newArray();
this._Reg[0]="http://www.google.com.hk(.*)";
this._Reg[1]="http://www.baidu.com(.*)";
this._Reg[2]="http://www.sogou.com(.*)";
this._Reg[3]="http://cn.bing.com(.*)";
//分析URL参数
varhostURL=window.location.href;
if(hostURL!=undefined&&hostURL!=""){
if((newRegExp(this._Reg[4])).test(hostURL)){
this._ch["_gid"]=this.SearchGid();
}elseif((newRegExp(this._Reg[7])).test(hostURL)){
}elseif((newRegExp(this._Reg[5])).test(hostURL)){
this._ch["_cid"]=this.SearchCategory();
}elseif((newRegExp(this._Reg[6])).test(hostURL)){
this._ch["_key"]=this.SearchKey();
}
this._ch["_tu"]=hostURL;
}
varreferrer=document.referrer;
if(referrer!=undefined&&referrer!=""){
if((newRegExp(this._Reg[0])).test(referrer)){
this._ch["_key"]=this.SearchSite("google");
}elseif((newRegExp(this._Reg[1])).test(referrer)){
this._ch["_key"]=this.SearchSite("baidu");
}elseif((newRegExp(this._Reg[2])).test(referrer)){
this._ch["_key"]=this.SearchSite("sogou");
}elseif((newRegExp(this._Reg[3])).test(referrer)){
this._ch["_key"]=this.SearchSite("bing");
}
this._ch["_su"]=referrer;
}
//获取客户端相关信息
this._ch["_sw"]=this.ScreenWidth();
this._ch["_sh"]=this.ScreenHeight();
this._ch["_bw"]=this.Browse();
this._ch["_cs"]=this.ClientOs();
this._ch["_mid"]=this.ClientID("from_channelid");
this._ch["_ctid"]=this.ClientID("ClientKey");
},
_ch:undefined,
_Reg:undefined
以上就是本文的全部内容,了解更多JavaScript的语法,大家可以查看:《JavaScript参考教程》、《JavaScript代码风格指南》,也希望大家多多支持毛票票。