zoukankan      html  css  js  c++  java
  • 代码收藏系列--javascript--移动端技巧

    JS判断是否是手机端访问:

    var is_mobi = navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
    if (is_mobi) {
        window.location.href = "http://m.xxx.com";
    }

     JS判断安卓浏览器、IOS浏览器、微信浏览器等:

    /**
     * 网页浏览器信息对象
     * <br />判断是否IE浏览器、是否微信浏览器、是否安卓系统、是否IOS系统等
     * @since 1.0 2017-7-5
     */
    var webrowser = {
        // 判断浏览器
        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.*/), //是否为移动终端
                    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, //是否为iPhone或者QQHD浏览器
                    iPad: u.indexOf('iPad') > -1, //是否iPad
                    iPod: u.indexOf('iPod') > -1, //是否iPod
                    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                };
            }(),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        },
        // ie10及以上不支持ie浏览器的判断了,因为ie11已经不支持document.all了,下面是支持ie11的版本的,当然ie6-8也是支持的
        isIE: function () {
            return (!!window.ActiveXObject || "ActiveXObject" in window);
        },
        isIOS: function () {
            return (browser.versions.iPhone || browser.versions.iPad || browser.versions.iPod);
        },
        isAndroid: function () {
            return browser.versions.android;
        },
        isPC: function () {
            return !browser.versions.mobile;
        },
        isWeibo: function () {
            //在新浪微博客户端打开
            var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
            return (browser.versions.mobile && ua.match(/WeiBo/i) == "weibo");
        },
        isWechat: function () {
            //在微信中打开
            var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
            return (browser.versions.mobile && ua.match(/MicroMessenger/i) == "micromessenger");
        },
        isQQ: function () {
            //在QQ空间打开
            var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
            return (browser.versions.mobile && ua.match(/QQ/i) == "qq");
        }
    };
    // test
    console.log(webrowser.isIE());

    版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
    本文标题:代码收藏系列--javascript--移动端技巧
    本文链接:http://www.cnblogs.com/sochishun/p/7072528.html
    本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
    发表日期:2017年7月5日

  • 相关阅读:
    解决pydev无法增加jython271 interpreter的问题
    使用pygal 做chart图的经验分享
    python4delphi 使用
    Some Delphi tips
    http request method and response codes
    flask 项目的开发经验总结
    解决pydev报unsolved import的问题
    python __future__ package的几个特性
    用一个简单的例子来理解python高阶函数
    正确地组织python项目的结构
  • 原文地址:https://www.cnblogs.com/sochishun/p/7072528.html
Copyright © 2011-2022 走看看