判断当前终端是手机还是pc端并进行不同的页面跳转

Posted 贺小鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断当前终端是手机还是pc端并进行不同的页面跳转相关的知识,希望对你有一定的参考价值。

判断当前设备(终端)是手机还是pc端并进行不同的页面跳转

DEMO 1

<script type="text/javascript">
    function browserRedirect() {
        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 || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
            window.location.href= ‘m.html;
        } else {
//            window.location= ‘‘;
        }
    }
    browserRedirect();//调用自身,页面一打开就开始跳转
</script>

 

DEMO 2

<script type="text/javascript">
(function(){
  var reWriteUrl = function(url){
    if(url){
      var Splits = url.split("/"),siteName=window.location.pathname;
      if(typeof siteName!=="undefined"){
        return "http://m.jb51.net"+siteName;
      }
    }
  };
  if(/Android|webOS|iPhone|iPad|Windows Phone|iPod|BlackBerry|SymbianOS|Nokia|Mobile/i.test(navigator.userAgent)){
    var url=window.location.href;
    var pathname=window.location.pathname;
    if(url.indexOf("?mobile")<0){
    try{
      window.location.href=reWriteUrl(url);
    }catch(e){}
    }
  };
})();
</script>

DEMO 3

//腾讯网的适配代码
  <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>
 
  
  //其他的适配代码(后缀名为.js 并引用至网页)
  <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;
  //跳转语句,如果是手机访问就自动跳转到" "里的页面
  if (system.win || system.mac || system.xll||system.ipad) {
  
  } else {
  
  window.location.href = "此处填写你的链接地址";
  }
  </script>

 

以上是关于判断当前终端是手机还是pc端并进行不同的页面跳转的主要内容,如果未能解决你的问题,请参考以下文章

判断pc端或移动端并跳转

JS前端开发判断是否是手机端并跳转操作(小结)

通过代码实现自动判断是手机端还是PC端跳转

JS判断是电脑浏览器还是手机端浏览器,并根据不同的终端跳转到不同的网址

js判断是移动端还是pc端

如何使用js判断当前页面是pc还是移动端打开的