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

posted @ 2016-03-06 13:58  张小窝  阅读(3624)  评论(0编辑  收藏  举报