首页 > 其他 > 详细

完美且精准的 IE10- 版本检测。

时间:2016-03-07 01:10:00      阅读:178      评论:0      收藏:0      [点我收藏+]

通过动态的写入条件注释的方式,来判断当前的ie浏览器的版本,优点是,对比userAgent字符匹配,要精准很多,应该说是100%正确,缺点就是要通过JS写入条件注释,拖慢页面的加载速度。

如果对于只判断ie中的ie6,强烈建议使用以下方式:

1 !-[1,] && !window.XMLHttpRequest;

首先看一下IE下的条件注释的格式:

<!--[if IE n]> <![endif]-->

* 需要注意的是--与[ 之间没有空格。

* IE10+不在支持条件注释。

接着我们要知道一个小的知识点,那就是IE10 - 都支持document.all属性。

好了,下面贴具体的代码:

 1     function ieVersion(){
 2         
 3         if(document.all){ // IE 10 -才支持该属性,edge(ie11)、FF、CH等会自动忽略
 4 
 5             ieflag = true;
 6             var ver = 5,
 7                 iecc = ‘‘;
 8 
 9             while(ieflag && ver<=9){  // 循环判断IE 9以内的版本
10                 document.write(‘<!--[if IE ‘+ ver +‘]><script> window.ieflag = false<\/script><![endif]-->‘);
11                 if(ieflag){
12                     ver++;
13                 }
14             }
15 
16             if(ver>9 && ieflag){ // IE10+ 已结放弃了条件注释了
17                 return 10;
18             }
19         }
20         return ver;    
21     }

调用方式:

alert(ieVersion());

------------------------ 睡觉去~~~~~~~~~

完美且精准的 IE10- 版本检测。

原文:http://www.cnblogs.com/HCJJ/p/5249182.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!