专栏首页技术博文js中判断浏览器版本

js中判断浏览器版本

    var ai = {
        ovb: {
            /**
             * 该对象用于判断系统,系统版本,浏览器,苹果设备等等功能。ovb是单词 Os Version Browser 的头字母缩写。
             */
            _version_value: false,
            _bversion_value: false,
            _ua: navigator.userAgent,
            android: function() {
                /**
                 * 该方法用于判断是否为安卓平台,如果是返回ture 否 返回 false
                 * @return ture或者false
                 */
                var regular_result = this._ua.match(/(Android)\s+([\d.]+)/),
                    os_boolean = !!regular_result;
                if(!this._version_value && os_boolean){
                    this._version_value = regular_result[2];
                }
                this.android = function(){return os_boolean;};
                return os_boolean;
            },
            ios: function() {
                /**
                 * 该方法用于判断是否为iOS平台,如果是返回ture 否 返回 false
                 * @return ture或者false
                 */
                var regular_result = this._ua.match(/.*OS\s([\d_]+)/),
                    os_boolean = !!regular_result;
                if(!this._version_value && os_boolean){
                    this._version_value = regular_result[1].replace(/_/g, '.');
                }
                this.ios = function(){return os_boolean;};
                return os_boolean;
            },
            iphone: function() {
                /**
                 * 该方法用于判断是否为iphone设备,如果是返回ture 否 返回 false
                 *  @return ture或者false
                 */
                var regular_result = this._ua.match(/(iPhone);.*OS\s([\d_]+)/),
                    os_boolean = !!regular_result;
                if(!this._version_value && os_boolean){
                    this._version_value = regular_result[2].replace(/_/g, '.');
                }
                this.iphone = function(){return os_boolean;};
                return os_boolean;
            },
            qq:    function() {
                var regular_result = this._ua.match(/QQ/i),
                    os_boolean = !!regular_result;
                this.weixin = function(){return os_boolean;};
                return os_boolean;
            },
            weixin: function() {
                /**
                 * 该方法用于判断是否为silk浏览器,如果是返回ture 否 返回 false
                 * @return ture或者false
                 */
                var regular_result = this._ua.match(/MicroMessenger/i),
                    os_boolean = !!regular_result;
                this.weixin = function(){return os_boolean;};
                return os_boolean;
            },
            erqalmedia: function() {
                /**
                 * 该方法用于判断是否为silk浏览器,如果是返回ture 否 返回 false
                 * @return ture或者false
                 */
                var regular_result = this._ua.match(/ErqalMedia/),
                    os_boolean = !!regular_result;
                this.silk = function(){return os_boolean;};
                return os_boolean;
            }
        }

    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mail邮件类

    <?php class MailSvc { //-设置全局变量 var $mailTo = ""; // 收件人 var $mailCC = ""; // 抄送...

    joshua317
  • 用Memcache实现分布式的锁服务

    一般情况下我们都用Memcache作为一个分布式的key/value缓存服务器,其实Memcache也可以实一些外门邪道的功能比如作为分布式锁来用。 原理其实非...

    joshua317
  • php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例...

    joshua317
  • Vue 折腾记 - (5) 写一个不大靠谱的selectSearch组件

    这个功能在网站中也很常见;下拉选择带搜索 基于之前的typeahead组件的基础上完善, 把过滤计算放在了computed ,其他逻辑也有所优化,代码更好理解

    CRPER
  • jQuery 复制表单 Bug 及修复

    当 jQuery 复制表单时,会漏复制 textarea 和 select 的值。更详细的描述见 http://bugs.jquery.com/ticket/3...

    Joel
  • Typecho回复可见功能

    最近逛博客,发现大家的博客都有回复可见的功能 回到我的博客一看发现没有,这可不得行 于是我也整了一个233,顺便分享给大家

    HCG_Sky
  • [Leetcode][python]Candy/分发糖果

    一直线上站了N个孩子,每个孩子都有一个属于自己的数字,现在按照如下规则给孩子分发糖果:每个孩子至少有一个糖果;相邻的孩子中数字比较大的那个拿的糖果也比较多。求最...

    后端技术漫谈
  • Python花式编程案例锦集(2)

    问题描述:编写函数,计算形式如a + aa + aaa + aaaa + ... + aaa...aaa的表达式的值,其中a为小于10的自然数。 相信大多数朋友...

    Python小屋屋主
  • 设计模式之原型模式

    Specify the kinds of objects to create using a prototypical instance, and create...

    beginor
  • Fabric-sdk-java快速上手 原

    在超级账本Fabric区块链中,应用通过节点的RPC协议接口访问链码。Java应用可以使用官方提供的Fabric-sdk-java开发包来实现对链码的访问,ja...

    用户1408045

扫码关注云+社区

领取腾讯云代金券