手机访问PC网站自动跳转到手机版

随着智能手机的流行,4G时代来临,手机用户越来越多,在生活中甚至手机比电脑用的还多,当前开发的网站大都是PC和WAP版并存,但是很少有用户愿意去记住一个网站的两个端的不同域名,所以需要我们做一些设置,在用户访问首页的时候,进行分析跳转,现将网上流行的几种方式汇总如下,希望对大家有用:

第一种方式:
推荐,简单易用,亲测可以正常使用,代码如下:

<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script>
<script type="text/javascript">uaredirect("你的手机版网址");</script>

第二种方式:

添加js代码,代码如下:

<script type="text/javascript">
    try {
        var urlhash = window.location.hash;
        if (!urlhash.match("fromapp")) {
            if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))) {
                window.location = "你的手机版地址";
            }
        }
    }
    catch (err) {
    }
</script>

第三种方式:

添加js代码,代码如下:

<script type="text/javascript">
    function urlredirect() {
        var sUserAgent = navigator.userAgent.toLowerCase();
        if ((sUserAgent.match(/(ipod|iphone os|midp|ucweb|android|windows ce|windows mobile)/i))) {
            //PC跳转移动端
            var thisUrl = window.location.href;
            //此处是在PC链接后自动添加手机版前缀,根据项目自行变更,我的是m开头
            window.location.href = thisUrl.substr(0,thisUrl.lastIndexOf('/') + 1) + 'mobile/';
        }
    }
    urlredirect();
</script>

第四种方式:

添加js代码,代码如下:

<script type="text/javascript">
    function mobile_device_detect(url) {
        var thisOS = navigator.platform;
        var os = new Array("iPhone", "iPod", "iPad", "android", "Nokia",
                "SymbianOS", "Symbian", "Windows Phone", "Phone",
                "Linux armv71", "MAUI", "UNTRUSTED/1.0", "Windows CE",
                "BlackBerry", "IEMobile");
        for ( var i = 0; i < os.length; i++) {
            if (thisOS.match(os[i])) {
                window.location = url;
            }
        }
        // 因为相当部分的手机系统不知道信息,这里是做临时性特殊辨认
        if (navigator.platform.indexOf('iPad') != -1) {
            window.location = url;
        }
        // 做这一部分是因为Android手机的内核也是Linux
        // 但是navigator.platform显示信息不尽相同情况繁多,因此从浏览器下手,即用navigator.appVersion信息做判断
        var check = navigator.appVersion;
        if (check.match(/linux/i)) {
            // X11是UC浏览器的平台 ,如果有其他特殊浏览器也可以附加上条件
            if (check.match(/mobile/i) || check.match(/X11/i)) {
                window.location = url;
            }
        }
        // 类in_array函数
        Array.prototype.in_array = function(e) {
            for (i = 0; i < this.length; i++) {
                if (this[i] == e)
                    return true;
            }
            return false;
        }
    }
    mobile_device_detect("你的手机版地址");
</script>

以上方式如有错误,欢迎指正!
---------------------
作者:异教徒的信仰
来源:CSDN
原文:https://blog.csdn.net/sinat_29356635/article/details/52814556
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇:css在盒子中垂直居中和固定居中


下一篇:【XML】利用Dom4j读取XML文档以及写入XML文档