用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 相关文章推荐
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
JQuery的AJAX实现文件下载的小例子
May 15 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
jquery+html仿翻页相册功能
Dec 20 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
JS实现图片转换成base64的各种应用场景实例分析
Jun 22 Javascript
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
详解一个基于react+webpack的多页面应用配置
Jan 21 Javascript
js 实现 list转换成tree的方法示例(数组到树)
Aug 18 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 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获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
mac下安装nginx和php
2013/11/04 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
Python快速从注释生成文档的方法
2016/12/26 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
python urllib爬虫模块使用解析
2019/09/05 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
python求解汉诺塔游戏
2020/07/09 Python
python os.rename实例用法详解
2020/12/06 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
html5简介及新增功能介绍
2020/05/18 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
信息服务专业毕业生求职信
2014/03/02 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
申论倡议书范文
2014/05/13 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
小学语文教师研修日志
2015/11/13 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
Python数据分析之绘图和可视化详解
2021/06/02 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫