用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 相关文章推荐
js自带函数备忘 数组
Dec 29 Javascript
jquery-easyui关闭tab自动切换到前一个tab
Jul 29 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
图片Slider 带左右按钮的js示例
Aug 30 Javascript
html+js实现动态显示本地时间
Sep 21 Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 Javascript
基于JavaScript怎么实现让歌词滚动播放
Nov 03 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
了解JavaScript表单操作和表单域
May 27 Javascript
Vue如何基于es6导入外部js文件
May 15 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的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
python字符串中的单双引
2017/02/16 Python
Python3 Random模块代码详解
2017/12/04 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
员工薪酬福利制度
2014/01/17 职场文书
创新型城市实施方案
2014/03/06 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
营销与策划实训报告
2014/11/05 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL