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 相关文章推荐
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 Javascript
javascript数组去重小结
Mar 07 Javascript
深入理解jquery中的事件与动画
May 24 Javascript
js计算系统当前日期是星期几的方法
Jul 14 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
vue组件(全局,局部,动态加载组件)
Sep 02 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
JavaScript的console命令使用实例
Dec 03 Javascript
JS实现拼图游戏
Jan 29 Javascript
JS动态图片的实现方法完整示例
Jan 13 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
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PHP7内核之Reference详解
2019/03/14 PHP
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
深入研究React中setState源码
2017/11/17 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
python比较两个列表大小的方法
2015/07/11 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
Pandas之缺失数据的实现
2021/01/06 Python
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
大学本科毕业生求职信范文
2013/12/18 职场文书
演讲稿开场白
2014/01/13 职场文书
六五普法规划实施方案
2014/03/21 职场文书
淘宝店策划方案
2014/06/07 职场文书