用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 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
两个数组去重的JS代码
Dec 04 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
Nov 16 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
JavaScript实现文字跟随鼠标特效
Aug 06 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
Aug 18 Javascript
原生javascript单例模式的应用实例分析
Feb 23 Javascript
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
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 进度条实现代码
2009/03/10 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python实现kNN算法
2017/12/20 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
服装机修工岗位职责
2013/12/26 职场文书
关于保护环境的建议书
2014/05/13 职场文书
六一亲子活动总结
2014/07/01 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
观后感的写法
2015/06/19 职场文书