js判断游览器类型及版本号的代码

 更新时间:2014年05月11日 00:07:35   作者:  
今天分析一下, 终于找到原因. 旧版本的js文件写的浏览器判断有异常, 所以导致插入点一直在头部. 今天修复之

phpnew blog内置discuz ubb类型的编辑器, 编辑器功能上有在光标处插入, 可在ie11上一直不准确.
今天分析一下, 终于找到原因. 旧版本的js文件写的浏览器判断有异常, 所以导致插入点一直在头部. 今天修复之.

提供一个js函数. 返回一个数组.

复制代码 代码如下:

function sys_userAgent(){
    var userAgent = navigator.userAgent,    
    rMsie = /(msie\s|trident.*rv:)([\w.]+)/,    
    rFirefox = /(firefox)\/([\w.]+)/,    
    rOpera = /(opera).+version\/([\w.]+)/,    
    rChrome = /(chrome)\/([\w.]+)/,    
    rSafari = /version\/([\w.]+).*(safari)/;   
    var browser,version,ua;   
    ua = userAgent.toLowerCase();   

    var match = rMsie.exec(ua);   
    if (match != null) {   
        return { browser : "ie", version : match[2] || "0" };   
    }

    if (!!window.ActiveXObject || "ActiveXObject" in window){
        return { browser : "ie", version : "0"};    
    }

    var match = rFirefox.exec(ua);   
    if (match != null) {   
        return { browser : "firefox", version : match[2] || "0" };   
    }   

    var match = rOpera.exec(ua);   
    if (match != null) {   
        return { browser : "opera", version : match[2] || "0" };   
    }   

    var match = rChrome.exec(ua);   
    if (match != null) {   
        return { browser : "chrome", version : match[2] || "0" };   
    }   

    var match = rSafari.exec(ua);   
    if (match != null) {   
        return { browser : "safari", version : match[1] || "0" };   
    }   

    if (match != null) {   
        return { browser : "", version : "0" };   
    }
}

希望对大家有帮助.
编辑器修改的内容还有附件flash加载经常失败的问题修复, 回车问题处理.

相关文章

  • JS声明对象时属性名加引号与不加引号的问题及解决方法

    JS声明对象时属性名加引号与不加引号的问题及解决方法

    这篇文章主要介绍了JS声明对象时属性名加引号与不加引号的问题及解决方法,需要的朋友可以参考下
    2018-02-02
  • 微信小程序自定义单选框样式实现单选功能

    微信小程序自定义单选框样式实现单选功能

    这篇文章主要为大家详细介绍了微信小程序自定义单选框样式实现单选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 基于ajax和jsonp的原生封装(实例)

    基于ajax和jsonp的原生封装(实例)

    下面小编就为大家带来一篇基于ajax和jsonp的原生封装(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • HTML+CSS+JavaScript实现下拉菜单效果

    HTML+CSS+JavaScript实现下拉菜单效果

    这篇文章主要为大家详细介绍了HTML+CSS+JavaScript实现下拉菜单效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js实现简易垂直滚动条

    js实现简易垂直滚动条

    本文主要介绍了js实现简易垂直滚动条的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 利用JavaScript实现简单的网页时钟

    利用JavaScript实现简单的网页时钟

    这篇文章主要介绍了利用JavaScript实现简单的网页时钟,主要使用了js的日期对象,实现的时候先创建一个日期对象,并进行网页布局,对时间获取之后将时间填入对应的标签内。然后使用多线程实现时钟的变动,需要的朋友可以参考一下
    2022-02-02
  • Javascript常用字符串判断函数代码分享

    Javascript常用字符串判断函数代码分享

    这篇文章主要分享了一段Javascript常用字符串判断函数的代码,基本上常见的字符串判断都涵盖在内了,非常实用,小伙伴们参考下。
    2014-12-12
  • Bootstrap的fileinput插件实现多文件上传的方法

    Bootstrap的fileinput插件实现多文件上传的方法

    这篇文章主要介绍了Bootstrap的fileinput插件实现多文件上传的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 微信小程序实现导航栏和内容上下联动功能代码

    微信小程序实现导航栏和内容上下联动功能代码

    这篇文章主要介绍了微信小程序实现导航栏和内容上下联动功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 深入理解ES6之数据解构的用法

    深入理解ES6之数据解构的用法

    本文介绍了深入理解ES6之数据解构的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论