用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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
用js来刷新当前页面保留参数的具体实现
Dec 23 Javascript
jQuery实现冻结表头的方法
Mar 09 Javascript
JavaScript实现文字跟随鼠标特效
Aug 06 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
BootStrap中Tab页签切换实例代码
May 30 Javascript
每日十条JavaScript经验技巧(二)
Jun 23 Javascript
ES6 javascript中class类的get与set用法实例分析
Oct 30 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
Mar 27 Javascript
jQuery实现模糊查询的方法分析
May 10 jQuery
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
图形数字验证代码
2006/10/09 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python使用folium excel绘制point
2019/01/03 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
python怎么删除缓存文件
2020/07/19 Python
HTML5进度条特效
2014/12/18 HTML / CSS
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
葡萄牙语专业个人求职信
2013/12/10 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
元宵节晚会主持词
2015/07/01 职场文书
有关浪费资源的建议书
2015/09/14 职场文书