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

  • 相关阅读:
    看看自己敲了多少代码
    jquery中获取单选标签redio的val
    @functools.wrapes
    SQLAlachemy 自动提交配置 SQLALCHEMY_COMMIT_ON_TEARDOWN
    ajax 常用格式
    开发文档收藏
    falsk 请求钩子
    数组中出现次数超过数组长度一半的值 分类: C/C++ 2015-07-09 15:38 142人阅读 评论(0) 收藏
    二叉搜索树(C++) 分类: C/C++ 数据结构与算法 2015-07-09 11:18 205人阅读 评论(0) 收藏
    程序员必读的六本书 2015-07-08 11:26 21人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/xiaomifeng/p/10361201.html
Copyright © 2020-2023  润新知