用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 AutoScroller 函数类
May 29 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
什么是 AngularJS?AngularJS简介
Dec 06 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
javascript如何写热点图
Dec 08 Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
Sep 23 Javascript
细说webpack源码之compile流程-入口函数run
Dec 26 Javascript
详解node Async/Await 更好的异步编程解决方案
May 10 Javascript
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
浅谈Redux中间件的实践
Jul 27 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代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
新闻内页-JS分页
2006/06/07 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
分页栏的web标准实现
2011/11/01 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
python属于跨平台语言码
2020/06/09 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
opencv 阈值分割的具体使用
2020/07/08 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Python编写万花尺图案实例
2021/01/03 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
教师求职自荐书
2014/06/14 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python