以前写过很多php来判断用户是手机还是pc访问网,然后再自动跳到指定页面了,下面我整理了常用的js判断例子,希望对各位会有所帮助。
网上找到的都不全,不是漏这个就是漏那个,有的甚至还把桌面的chrome判断为移动浏览器。

于是自己动手整理,这回算是比较全了。以后发现漏掉的立马加上。

代码如下:

1
2
3
<script type="text/javascript">// <![CDATA[
     if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || /Android/i.test(navigator.userAgent) || /BlackBerry/i.test(navigator.userAgent) || /IEMobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))) {         if (/iPad/i.test(navigator.userAgent)) {             alert("iPad平板");         } else {             alert("其他移动设备 www.111cn.net ");         }     } else {         alert("非移动设备");     }
// ]]></script>

苹果最规矩了,一个判断全搞定。然后就是乱七八糟的安卓阵营,只能根据android标识筛选出大部分。接下来还有黑莓、windows phone,这些在国内的普及率并不高,没有五花八门的设备,判断起来也容易。最后,对于那些个安装各种奇葩浏览器而导致UA不规矩的,就根据常见厂商枚举出来。恩,大致就这样,可以检测出绝大部分移动设备了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<script type="text/javascript">// <![CDATA[
    function checkBrowser() {
        var 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 &#038;& u.indexOf('KHTML') == -1,
                    //火狐内核                
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
                    //是否为移动终端                
                    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 || u.indexOf('Mac') > -1,
                    //是否为iPhone或者QQHD浏览器                
                    iPad: u.indexOf('iPad') > -1,
                    //是否iPad                
                    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部            
                };
            } (),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        }
        if (browser.versions.android || browser.versions.iPhone || browser.versions.iPad) {
            window.location.href = "http://daimami.com“
 }
}
=============解决方案===============
<!--  
//平台、设备和操作系统  
var system ={  
win : false,  
mac : false,  
xll : false  
};  
//检测平台  
var p = navigator.platform;  
alert(p);  
system.win = p.indexOf("Win ") == 0;  
system.mac = p.indexOf("Mac ") == 0;  
system.x11 = (p == "X11 ") || (p.indexOf("Linux ") == 0);  
//跳转语句  
if(system.win||system.mac||system.xll){ //转向电脑端
window.location.href="www.111cn.net ";  
}else{  
window.location.href="m.111cn.net ";  //转向手机端} 
"
// ]]></script>

最简单的办法百度插件
代码如下:

1
2
3
<script type="text/javascript" src="http://siteapp.baidu.com/static/webappservice/uaredirect.js"></script><script type="text/javascript">// <![CDATA[
uaredirect("你的手机版网址");
// ]]></script>