• 手机访问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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    linux系统中split命令
    linux系统 如何提取奇数列
    R语言提取奇数行、偶数行、整倍数行、奇数列、偶数列、整倍数列
    linux 系统sed命令如何提取奇数行、偶数行及整倍数行
    linux系统如何提取奇数列
    Can't exec "epstopdf": No such file or directory 报错解决
    beagle 填充 Exception in thread "main" java.lang.IllegalArgumentException: NaN
    sh: gnuplot: command not found 报错记录
    linux 系统 awk命令提取奇数行、偶数行及整数倍行
    R语言subset函数的用法
  • 原文地址:https://www.cnblogs.com/xiaomifeng/p/10361201.html
Copyright © 2020-2023  润新知