前端区分和后端(java)区分两种方法:
一、在前端区分(在body下面加入如下,放在网页html代码之前)
<body>
<script>
/*百度自动提交*/
var pathurl='/www/';
</script>
<SCRIPT LANGUAGE="JavaScript">
function mobile_device_detect(url)
{
var thisOS=navigator.platform;
var os=new Array("iPhone","iPod","iPad","android","Nokia","SymbianOS","Symbian","Windows Phone","Phone","Linux armv71","MAUI","UNTRUSTED/1.0","Windows CE","BlackBerry","IEMobile");
for(var i=0;i<os.length;i++)
{
if(thisOS.match(os[i]))
{
window.location=url;
}
}
//因为相当部分的手机系统不知道信息,这里是做临时性特殊辨认
if(navigator.platform.indexOf('iPad') != -1)
{
window.location=url;
}
//做这一部分是因为Android手机的内核也是Linux
//但是navigator.platform显示信息不尽相同情况繁多,因此从浏览器下手,即用navigator.appVersion信息做判断
var check = navigator.appVersion;
if( check.match(/linux/i) )
{
//X11是UC浏览器的平台 ,如果有其他特殊浏览器也可以附加上条件
if(check.match(/mobile/i) || check.match(/X11/i))
{
window.location=url;
}
}
//类in_array函数
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length;i++)
{
if(this[i] == e)
return true;
}
return false;
}
}
mobile_device_detect("/www/movepage/index.html");
</SCRIPT>
</body>
二、后端区分(在进入首页的时候判断,再进入不同网页)
1.在代码中加入:
@GetMapping({ "/", "/index" }) public String index(HttpServletRequest
request) { String ua = request.getHeader("User-Agent")
if (VisitClient.checkAgentIsMobile(ua))
{
//进入移动端界面
return "movepage/index"; }
else {
//进入pc端界面
return "index";
}
2.checkAgentIsMobile方法函数
public class VisitClient {
private final static String[] mobileAgents = { "iphone", "android","ipad", "phone", "mobile", "ipod", "mqqbrowser", "ucweb",
"windows ce","windows phone", "samsung", "up.browser", "huawei","Googlebot-Mobile" };
public static boolean checkAgentIsMobile(String ua) {
boolean flag = false;
if(ua != null) {
for (String mobileAgent : mobileAgents) {
if (ua.toLowerCase().indexOf(mobileAgent) >= 0&&ua.toLowerCase().indexOf("windows nt")<=0 &&ua.toLowerCase().indexOf("macintosh")<=0) {
flag = true;
break;
}
}
}
return flag;
}
}