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 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
为超链接加上disabled后的故事
Dec 10 Javascript
jquery中防刷IP流量软件影响统计的一点对策
Jul 10 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
JavaScript中的对象继承关系
Aug 01 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
Dec 01 Javascript
redux-saga 初识和使用
Mar 10 Javascript
JS实现的汉字与Unicode码相互转化功能分析
May 25 Javascript
js实现购物车功能
Jun 12 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 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中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
Python选课系统开发程序
2016/09/02 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
Python表示矩阵的方法分析
2017/05/26 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
傲盾软件面试题
2015/08/17 面试题
银行求职信个人范文
2013/12/16 职场文书
电子商务自荐书范文
2014/01/04 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
公司授权委托书
2014/10/17 职场文书
雷锋电影观后感
2015/06/10 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Go语言安装并操作redis的go-redis库
2022/04/14 Golang
Python时间操作之pytz模块使用详解
2022/06/14 Python