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


Posted in Javascript onMay 11, 2014

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加载经常失败的问题修复, 回车问题处理.

Javascript 相关文章推荐
jQuery 插件 将this下的div轮番显示
Apr 09 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
浅谈javascript中的instanceof和typeof
Feb 27 Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 Javascript
VSCode中如何利用d.ts文件进行js智能提示
Apr 13 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
小程序中手机号识别的示例
Dec 14 Javascript
jquery实现文本框数量加减功能的例子分享
May 10 #Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
May 10 #Javascript
多引号嵌套的变量命名的问题
May 09 #Javascript
javascript中数组的多种定义方法和常用函数简介
May 09 #Javascript
javascript的数组和常用函数详解
May 09 #Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
May 09 #Javascript
实例讲解JS中数组Array的操作方法
May 09 #Javascript
You might like
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHP常用的缓存技术汇总
2014/05/05 PHP
php实现可运算的验证码
2015/11/10 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
pandas参数设置的实用小技巧
2020/08/23 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
如何选择使用结构还是类
2014/05/30 面试题
高中生自我评语大全
2014/01/19 职场文书
医学求职自荐信
2014/06/21 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python