JS判断是否是移动设备进行http链接重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS判断是否是移动设备进行http链接重定向相关的知识,希望对你有一定的参考价值。

  1、问题:

用户使用手机移动设备访问127.0.0.1/yemian,自动识别到手机端并且跳转至127.0.0.1/m/yemian

  2、小二,上代码:

//判断是否是移动设备
var ua = navigator.userAgent;
var UA = {
    android:function () {   //安卓
        return ua.match(/Android/i)?true:false;
    },
    BlackBerry:function() {  //黑莓
        return ua.match(/BlackBerry/i)?true:false;
    },
    ios:function(){  //IOS
        return ua.match(/iPhone|iPad|iPod/i)?true:false;
    },
    //这个其实没啥必要了,可以不用判断这个,毕竟IE是一种古老的东西
    Windows:function() {  
        return ua.match(/IEMobile/i)?true:false;
    },
    isMobile:function() {  //移动设备
        return UA.Android()||UA.BlackBerry()||UA.IOS()||UA.Windows();
    }
}
if(US.isMobile()){
    //正则匹配第一个/,进行重定向
    location.replace(location.href.replace(/\\//,"/m/"));     
}

 

3、小二,这里为什么不使用location.href进行跳转?

   location.replace 不会保存跳转前的URL地址,也就是不会把url放在history里,所以按返回之后会无效

   使用区别:当要模拟按钮点击跳转链接,使用location.href

                  如果只是单纯进行http重定向,那就是用location.replace,作为csser,还是要考虑用户体验问题滴

 

 

转载请注明:http://www.cnblogs.com/zhangmingze/p/5247296.html

以上是关于JS判断是否是移动设备进行http链接重定向的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的亚马逊联盟链接在移动设备上打开亚马逊应用后会重定向回浏览器?

简洁的判断是否是移动设备的js代码

如果是移动设备,则从特定页面重定向到特定页面

.htaccess移动设备重定向

Javascript重定向不适用于移动设备

来自移动设备的 PHP 地理定位,无需重定向