设为首页 收藏本站
查看: 1406|回复: 0

[经验分享] 判断WEB网站的访问端是电脑还是手机的方法

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-13 08:34:11 | 显示全部楼层 |阅读模式
如何判断WEB网站的访问端是电脑还是手机?以显示不同的页面!
其实可以通过JS脚本来实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
<!--
        //平台、设备和操作系统
        var system = {
            win: false,
            mac: false,
            xll: false,
            ipad:false
        };
        //检测平台
        var p = navigator.platform;
        system.win = p.indexOf("Win") == 0;
        system.mac = p.indexOf("Mac") == 0;
        system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
        system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
        //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面
        if (system.win || system.mac || system.xll||system.ipad) {

        } else {

            window.location.href = "http://www.jdpatro.com/3g/";
        }
-->
</script>



腾讯网的适配代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">  
if(/AppleWebKit.*Mobile/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(window.location.href.indexOf("?mobile")<0){
        try{
            if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                window.location.href="http://shipei.qq.com/index.htm";
            }else if(/iPad/i.test(navigator.userAgent)){
            }else{
                window.location.href="http://shipei.qq.com/simple/s/index/"
            }
        }catch(e){}
    }
}
</script>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
    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 && 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应该程序,没有头部与底部
            google:u.indexOf('Chrome')>-1
        };
    }(),
    language : (navigator.browserLanguage || navigator.language).toLowerCase()
    }
    document.writeln("语言版本: "+browser.language);
    document.writeln(" 是否为移动终端: "+browser.versions.mobile);
</script>



如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:
1
2
3
4
5
6
7
8
9
10
11
12
13
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
function is_iPad(){        
[object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();
[object Object] [object Object] [object Object]if(ua.match(/iPad/i)=="ipad") {               
[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return true;
[object Object] [object Object] [object Object]} else {
[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return false;
[object Object] [object Object] [object Object]}
}

$is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]



JS 判断浏览器客户端类型(ipad,iphone,android):
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">  
   var bForcepc
= fGetQuery("dv") == "pc";   
   function
fBrowserRedirect(){   
       var sUserAgent = navigator.userAgent.toLowerCase();  
       var bIsIpad = sUserAgent.match(/ipad/i) ==
"ipad";   
       var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";  
       var bIsMidp = sUserAgent.match(/midp/i) == "midp";  
       var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";  
       var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";  
       var bIsAndroid = sUserAgent.match(/android/i) == "android";  
       var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";  
       var bIsWM = sUserAgent.match(/windows mobile/i) == "windows
mobile";   
       if(bIsIpad){   
           var sUrl =
location.href;      
           if(!bForcepc){   
               window.location.href = "http://ipad.mail.163.com/";  
           }   
       }   
       if(bIsIphoneOs || bIsAndroid){   
           var sUrl =
location.href;      
           if(!bForcepc){   
               window.location.href = "http://smart.mail.163.com/";  
           }   
       }   
       if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){   
           var sUrl =
location.href;      
           if(!bForcepc){   
               window.location.href = "http://m.mail.163.com/";  
           }   
       }   
   }  
   function
fGetQuery(name){//获取参数值   
       var sUrl = window.location.search.substr(1);  
       var r = sUrl.match(new RegExp("(^|&)" + name +
"=([^&]*)(&|$)"));  
       return (r == null ? null : (r[2]));  
   }  
   function
fShowVerBlock(){     
       if(bForcepc){   
           document.getElementByIdx_x("dv_block").style.display = "block";  
       }   
       else{   
           document.getElementByIdx_x("ad_block").style.display = "block";  
       }   
   }  
   fBrowserRedirect();   
   </script>



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40628-1-1.html 上篇帖子: 判断某一文件夹是否存在,不存在则创建该文件夹 下篇帖子: php设置伪静态 电脑 手机 网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表