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 相关文章推荐
让div层随鼠标移动的实现代码 ie ff
Dec 18 Javascript
js 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
jquery 注意事项与常用语法小结
Jun 07 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
如何防止回车(enter)键提交表单
May 11 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
javascript每日必学之循环
Feb 19 Javascript
JavaScript使用类似break机制中断forEach循环的方法
Nov 13 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
node.js express框架简介与实现
Jul 23 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 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 insert语法详解
2008/06/07 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
PHP中SESSION过期设置
2021/03/09 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python的socket编程入门
2018/01/29 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
开会迟到检讨书
2014/02/03 职场文书
运动会解说词200字
2014/02/06 职场文书
统计系教授推荐信
2014/02/28 职场文书
公司年终奖分配方案
2014/06/16 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
见习报告格式要求
2014/11/04 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
酒会邀请函
2015/01/31 职场文书
避暑山庄导游词
2015/02/04 职场文书
公务员年终个人总结
2015/02/12 职场文书
送达通知书
2015/04/25 职场文书
结婚典礼主持词
2015/06/29 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书