用javascript判断IE版本号简单实用且向后兼容


Posted in Javascript onSeptember 11, 2013

今天一个项目中需要判断IE版本号,又因为 jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),于是就看到一老外写的一段代码:

var _IE = (function(){ 
var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); 
while ( 
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', 
all[0] 
); 
return v > 4 ? v : false ; 
}());

这段代码着实巧妙!既简介、有向后兼容!一般做法都是:正则搜索 USER_AGENT ;
但因为历史原因, USER_AGENT 一直都不准确,而且被各大厂商改的乱七八糟。

比如:

IE10 : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0) 
IE11 : Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko

这都是些什么乱七八糟的什么字符串啊。。。鬼知道 IE12会变成什么!!!
所以使用特性检测、或者USER-AGENT检测既不可靠,也不向后兼容!

强烈推荐上述代码!
——————————————————————-
以前刚学会编程的时候,感觉自己知道的挺多,有很多东西可以写;
可真正深入学习很多知识之后,却痛苦的发现自己知道的实在是太少了!想写点什么,却很难下笔。

Javascript 相关文章推荐
javascript 面向对象的JavaScript类
May 04 Javascript
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
Javascript调用C#代码
Jan 17 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
Sep 29 Javascript
根据表格中的某一列进行排序的javascript代码
Nov 29 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
javascript常用方法汇总
Dec 02 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
基于javascript实现表格的简单操作
May 21 Javascript
jquery.zclip轻量级复制失效问题
Jan 08 Javascript
微信公众号H5支付接口调用方法
Jan 10 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 #Javascript
jquery获取子节点和父节点的示例代码
Sep 10 #Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 #Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
Sep 10 #Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 #Javascript
原始的js代码和jquery对比体会
Sep 10 #Javascript
js获取url参数值的两种方式
Sep 10 #Javascript
You might like
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python的装饰器用法学习笔记
2016/06/24 Python
Python抓取手机号归属地信息示例代码
2016/11/28 Python
win与linux系统中python requests 安装
2016/12/04 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
Python最小二乘法矩阵
2019/01/02 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
现代化办公人员工作的自我评价
2013/10/16 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
药剂专业自荐书
2014/06/20 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书