使用js实现移动设备访问跳转到指定目录

最近最项目的时候总会同时做pc站点跟手机站点,当手机访问的时候默认是看到pc站点的,需要在url上加上/mobile才能正常访问,这段代码是我同事分享给我的,还是蛮实用的.

CODE

function ckMobile() {
    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应该程序,没有头部与底部            
            };
        } ()
    }

    if (browser.versions.mobile || browser.versions.iPhone) {
        if (!browser.versions.iPad || (document.body.clientWidth < 450)) {
            return true;
        }
    }
}


function ckGoogleBrowser() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s;
    (s = ua.match(/msie ([d.]+)/)) ? Sys.ie = s[1] :
    (s = ua.match(/firefox/([d.]+)/)) ? Sys.firefox = s[1] :
    (s = ua.match(/chrome/([d.]+)/)) ? Sys.chrome = s[1] :
    (s = ua.match(/opera.([d.]+)/)) ? Sys.opera = s[1] :
    (s = ua.match(/version/([d.]+).*safari/)) ? Sys.safari = s[1] : 0;
    if (Sys.chrome != null || Sys.opera != null || Sys.firefox != null) { return true; }
   
}


function CheckBrowser() {
    if (!ckGoogleBrowser()) {
        if (ckMobile()) {
            location.href = "/mobile/";
        }
    }
}


CheckBrowser();

  

备注:在站点起始页引用即可.

原文地址:https://www.cnblogs.com/Chendaqian/p/3437692.html