刚接触前端的时候,师傅最先告诉我的就是前端要玩的转,浏览器的兼容性必须弄明白,然后我知道了兼容性就是意味着Microsoft IE,就是意味着万恶的IE6,我这个时候才知道秦始皇统一六国的好处,垄断带来的便捷,要是IE把浏览器市场垄断了,或者IE被别的浏览器厂商给淘汰了该多好啊,YYing....,刚开始的时候只是CSS的兼容性问题,什么最经典的双倍边距BUG了啥的,那个时候我还不会用display:inline来解决,最开始知道和了解的就是CSS HACK写法,也就是“_”,“*”,“!important”,"/8"什么的写法,到了开始学习JS的时候,兼容性问题还是依然存在的(恨的我牙痒痒,在NB的IE面前换个语言也没用),一开始为了判断IE或者IE6只能写很长很长的JS代码来取浏览器的信息,然后通过if来判断是哪个浏览器,真是费心费力啊。但是人才比比皆是啊,在网上搜到很多很巧妙的判断IE和IE6的JS代码,现给大家呈上:

 1 var isIE=!!window.ActiveXObject; 2 var isIE6=isIE&&!window.XMLHttpRequest; 3 var isIE8=isIE&&!!document.documentMode; 4 var isIE7=navigator.appVersion.match(/7./i)=='7.'; 5 if (isIE){ 6     if (isIE6){ 7         alert(”ie6″); 8     }else if (isIE8){ 9         alert(”ie8″);10     }else if (isIE7){11         alert(”ie7″);12     }13 }

短了吗?真的短了哎,还有更短的吗,有!

2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:

1 var ie = !-[1,];

那么我们完全可以用这句6个字节的代码和上面的代码合并来判断IE6

1 var ie6=!-[1,]&&!window.XMLHttpRequest;

转载于:https://www.cnblogs.com/chijijuedi/archive/2012/02/23/2364694.html

js里面关于IE和万恶的IE6的判断相关推荐

  1. js/css 检测移动设备方向的变化 判断横竖屏幕

    js/css 检测移动设备方向的变化 判断横竖屏幕 方法一:用触发手机的横屏和竖屏之间的切换的事件 window.addEventListener("orientationchange&qu ...

  2. js选择器获取元素的value值,如何判断为空

    js选择器获取元素的value值,如何判断为空 获取复选框有没有选中值为2的选项,判断是否为空, 可以直接与undefined进行比对,也可以使用typeof与变量类型进行比对 var month = ...

  3. js之删除对象属性的三种方法 判断对象中是否有某一属性的四种方法

    js之删除对象属性的三种方法 & 判断对象中是否有某一属性的四种方法 示例 1.基础版 var a = { id: 18, age: 20, name: "zhangsan" ...

  4. 自写图片遮罩层放大功能jquery插件源代码,photobox.js 1.0版,不兼容IE6

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u010480479/article/details/27362147 阿嚏~~~ 话说本屌丝没啥开发 ...

  5. js+css 使div背景图在ie6中透明

    一个小东西 就不叙述了 banner为div的ID <script type="text/javascript"> var banner = document.getE ...

  6. 四种利用js导出Excel的方法(兼容IE6+、主流浏览器、支持复杂表头和合并单元格)

    因为项目需求变更,最后决定使用做JS导出Excel,网上看了很多的帖子和例子,很多的例子并不能满足需求( 处理复杂表头,兼容主流浏览器,兼容IE等等).所以,自己找了几个比较不错的例子,在其基础上结合 ...

  7. php 判断 ie6,jQuery_Jquery判断IE6等浏览器的代码,Jquery判断IE6的代码: 复制代码 - phpStudy...

    Jquery判断IE6等浏览器的代码 Jquery判断IE6的代码: 复制代码 代码如下: if ($.browser.msie && ($.browser.version == &q ...

  8. JS的表单序列化,数组去重,判断数组是否重复等方法

    一.背景 本篇主要是记录一下JS中常用的工具方法.包括表单序列化,判断数组是否重复,数组去重等.做个笔记 二.工具方法 1.表单元素序列化为对象 public function serializeOb ...

  9. js 实现2的n次方计算函数_js 判断一个数字是不是2的n次方幂的实例

    昨天去面试时,面试官问了一道面试题,说如何判断一个数是不是2的n次方幂,我当时不知道2的n次方幂是什么(糗大发了),还好给我解释了一下.最后回家上网查查资料,整理了一下方法. 方法一 如何判断一个数是 ...

最新文章

  1. OpenGL depthclamp深度夹紧实例
  2. 端口号属于协议还是进程
  3. 【渝粤题库】广东开放大学 现代服务学概论 形成性考核 (2)
  4. 集合的体系结构 0119
  5. java重置输出窗口_java – 如何重置默认启动器/主屏幕替换?
  6. 基于特定实体的文本情感分类总结(PART II)
  7. Spring Security 3多用户登录实现之二 多登录界面展示
  8. java 通配符泛型_java泛型常用通配符实例解析
  9. 安卓系统镜像_安卓手机 F2FS文件系统镜像快速解析技巧
  10. 浅谈LoRa,LoRaWAN,NB-IoT三类物联网技术
  11. 小程序计算当前定位与店铺距离
  12. C语言虚词怎么在程序里表示,文言虚词用法推断
  13. 1955年至2020年的国家GDP数据可视化-基于Pandas,Seaborn
  14. macos 打开终端弹出:(eval):export:1: not valid in this context: Fusion.app/Contents/Public
  15. 人工智能刷题(个人向)
  16. int型的取值范围是?
  17. stm32f103电子钟心得体会_STM32中的时钟
  18. Android WebView(一) WebView详解
  19. 台式机通过笔记本上网
  20. FPGA数字信号处理

热门文章

  1. 有权限的网页能分享内页?_有哪些舍不得分享的办公软件?
  2. android 开启子线程执行for循环_C++11之多线程 - Part2 Joining和Detaching的使用
  3. 使用MATLAB绘制周期信号的,周期信号频域分析及MATLAB实现.ppt
  4. java实现并发连接池_java并发实战:连接池实现
  5. Java Web学习笔记10:Servlet基础
  6. 【BZOJ2756】奇怪的游戏,网络流判断答案
  7. 【BZOJ2594】水管局长加强版,LCT+并查集+二分查找位置
  8. 2.图像作为函数 | 生成高斯噪音_8
  9. php语言指针的初始化定义,指针变量的初始化,C语言指针变量初始化详解
  10. bzoj3198 [sdoi2013] spring 哈希挂表+容斥