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 相关文章推荐
添加到收藏夹代码(兼容几乎所有的浏览器)
Jan 09 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
jquery实现弹出层效果实例
May 19 Javascript
javascript封装的sqlite操作类实例
Jul 17 Javascript
解决JS无法调用Controller问题的方法
Dec 31 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
d3.js实现简单的网络拓扑图实例代码
Nov 06 Javascript
详解如何用webpack打包一个网站应用项目
Jul 12 Javascript
详释JavaScript执行环境与执行栈
Apr 02 Javascript
JS的深浅复制详细
Oct 16 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
Python 的 Socket 编程
2015/03/24 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python如何删除文件中重复的字段
2019/07/16 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python 实现绘制整齐的表格
2019/11/18 Python
使用python远程操作linux过程解析
2019/12/04 Python
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
工程班组长岗位职责
2013/12/30 职场文书
挂牌仪式主持词
2014/03/20 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
《学会看病》教学反思
2016/02/17 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript
如何正确理解python装饰器
2021/06/15 Python
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python