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 条评论
登录 后参与评论

相关文章

来自专栏牛客网

美团榛果民宿面经

1684
来自专栏冰霜之地

高效的数据压缩编码方式 Protobuf

Protocol buffers 是一种语言中立,平台无关,可扩展的序列化数据的格式,可用于通信协议,数据存储等。

2961
来自专栏代码GG之家

android MVVM开发模式(五)

android MVVM开发模式(五) 上一讲我们说了@InverseBindingAdapter标记的事情。通过这个,我们可以实现view向数据方向的传递。从...

2216
来自专栏技术栈大杂烩

Python: 受限制的 "函数调用"

函数功能简单明了, 对于结果, 大家应该也不会有太大的异议:func分别是取得全局命名空间中a的值和使用内置命名空间中的函数id获取了a的地址. 熟悉Pytho...

1553
来自专栏Java帮帮-微信公众号-技术文章全总结

【Java提高十四】异常

Java的基本理念是“结构不佳的代码不能运行”!!!!! 大成若缺,其用不弊。 大盈若冲,其用不穷。 在这个世界不可能存在完美的东西,不...

3464
来自专栏IT技术精选文摘

深入浅出Java 10的实验性JIT编译器Graal

1725
来自专栏Java学习网

java开发中代码级别的优化方法总结,有效提高程序性能

负载测试和应用程序监控对于确定应用程序的一些关键性能瓶颈非常有用。但同时,我们需要遵循良好的编码习惯,以避免在对应用程序进行监控的时候出现过多的性能问题。

1692
来自专栏极客编程

测试利器Mocha

mocha 是一个功能丰富的javascript测试框架,可以运行在nodejs和浏览器环境,使异步测试变得简单有趣。mocha 串联运行测试,允许灵活和精确地...

1102
来自专栏Golang语言社区

Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在...

3004
来自专栏Golang语言社区

Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在...

3427

扫码关注云+社区

领取腾讯云代金券