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 相关文章推荐
模拟多级复选框效果的jquery代码
Aug 13 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
JavaScript SHA1加密算法实现详细代码
Oct 06 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
小程序实现左滑删除效果
Jul 25 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 Javascript
js实现简单的倒计时
Jan 28 Javascript
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
Apr 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中PDO方式实现数据库的增删改查
2015/05/17 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
Vue中正确使用jQuery的方法
2017/10/30 jQuery
vue的toast弹窗组件实例详解
2018/05/14 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
python 实用工具状态机transitions
2020/11/21 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
公司承诺书怎么写
2014/05/24 职场文书
节能环保标语
2014/06/12 职场文书
美术课外活动总结
2014/07/08 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
留学推荐信怎么写
2015/03/26 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Python 中面向接口编程
2022/05/20 Python