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 相关文章推荐
javascript拓展DOM操作 prependChild insertAfert
Nov 17 Javascript
js验证电话号码与手机支持+86的正则表达式
Jan 23 Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 Javascript
再谈javascript注入 黑客必备!
Sep 14 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
p5.js实现故宫橘猫赏秋图动画
Oct 23 Javascript
Angular单元测试之事件触发的实现
Jan 20 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 Javascript
js实现简易ATM功能
Oct 27 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
MYSQL环境变量设置方法
2007/01/15 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
Python 字符串操作方法大全
2014/03/11 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
深入了解Python 变量作用域
2020/07/24 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Python 多进程原理及实现
2020/12/21 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
高中军训感想300字
2014/03/04 职场文书
大学自主招生推荐信
2014/05/10 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
2014年卫生工作总结
2014/11/27 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
董事长新年致辞
2015/07/29 职场文书
聘用合同范本
2015/09/21 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
python计算列表元素与乘积详情
2022/08/05 Python