最近公司要用java做一个网站访问统计的系统,需求是可以知道网站是从哪些渠道被访问的应该怎么设计 ,百度统计以及51la有这样的功能这两个网站是php写,我想php能写出来java应该也可以的想在这请教下思路
String userAgent = request.getHeader("user-agent");
if(userAgent.indexOf("Android") != -1){
//安卓
}else if(userAgent.indexOf("iPhone") != -1 || userAgent.indexOf("iPad") != -1){
//苹果
}else{
//PC
}
var wzw={
//浏览器相关信息
//android webview 需要app进行支持,Android web view初始化时,在navigator中添加标识
browser:{
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.Mobile./), //是否为移动终端
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
iosView: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1 || u.indexOf('micromessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.indexOf('QQ')>-1 || u.indexOf('qq')>-1, //是否QQ
uc: u.indexOf('UCBrowser') > -1 || u.indexOf('uc') > -1,
androidView: u.indexOf('ANDROIDWEBVIEW')>-1//需要app端配合,在userAgent中加入标识
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase(),
appVersion:navigator.appVersion,
isIOS:function(){
if (/iphone|ipod|ipad/.test(navigator.userAgent)) { return true;}
else {return false;}
}(),
isAndroid:function(){
if (/(Android)/i.test(navigator.userAgent)) {return true}
else{return false}
}(),
isIOSView:function(){
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent );
if(!standalone && !safari){
return true;
}else{
return false;
}
}()
}
};
wzw.browser.isMobile=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return true }
else{return false}
}();
wzw.browser.isPc=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return false }
else{return true}
}();
/*
然后进行判断
//判断版本
function check() {
try{
if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
isIOS = true;
}else{
isIOS = false;
}
}catch(e){
//不支持获取版本号交互
alert("出错啦?!");
}
}
有这种网站分析工具,一般情况不需要写。