js判断PC端 移动端 并跳转

通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面!

<script>
    // PC端 移动端 跳转
    var is_mobi = navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
        if (is_mobi) {
            window.location.href = "mobile.html";
        }else{
            // window.location.href="index.html" 
        }
</script>

目录
腾讯网的适配代码
如何判断访问网站的机器类型-如何判断ipad
JS 判断浏览器客户端类型(ipad,iphone,android)

//平台、设备和操作系统 
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/"; 
} 

 

腾讯网的适配代码

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){} 
    } 
}
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); 

 

如何判断访问网站的机器类型-如何判断ipad

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:

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)

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();

本文来源:oschina地球家园 

 

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过判断用户使用的浏览器类型、屏幕尺寸等方式来判断用户是在PC端还是移动端。根据判断结果,可以在代码中使用条件语句实现不同的跳转逻辑。以下是一些实现方式: 1. 判断浏览器类型 可以通过navigator.userAgent获取用户的User Agent信息,根据其中包含的关键字判断用户使用的是PC端还是移动端浏览器。 示例代码: ```javascript if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { // 移动端跳转 } else { // PC端跳转 } ``` 2. 判断屏幕尺寸 可以通过window.screen.width和window.screen.height获取用户屏幕的尺寸,根据尺寸大小判断用户是在PC端还是移动端。 示例代码: ```javascript if(window.screen.width < 768) { // 移动端跳转 } else { // PC端跳转 } ``` 3. 使用CSS媒体查询 可以利用CSS媒体查询来根据屏幕尺寸自动适应不同的布局。通过在HTML中设置不同的class,可以在JS中根据class来判断用户是在PC端还是移动端。 示例代码: ```html <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .pc { display: block; } .mobile { display: none; } @media only screen and (max-width: 768px) { .pc { display: none; } .mobile { display: block; } } </style> </head> <body> <div class="pc">PC端内容</div> <div class="mobile">移动端内容</div> <script> if(document.querySelector('.mobile').style.display == 'block') { // 移动端跳转 } else { // PC端跳转 } </script> </body> ``` 以上是几种判断PC端还是移动端跳转的方式,根据实际情况选择合适的方式即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值