zoukankan      html  css  js  c++  java
  • js里面关于IE和万恶的IE6的判断

    刚接触前端的时候,师傅最先告诉我的就是前端要玩的转,浏览器的兼容性必须弄明白,然后我知道了兼容性就是意味着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;
  • 相关阅读:
    为了抓包某APP所做的尝试(to be continued)
    VirtualBox的使用的一些Tips 网络配置|硬盘扩充
    斜线和反斜线简要历史,为什么windows和unix采用不同的路径分隔符
    求出二维数组主对角线、次对角线以及周边元素之和
    C#计算两个时间的时间差,精确到年月日时分秒
    C#获取MP3,WMA信息
    C#窗体随意移动
    DEV GridControl小结
    DEV 皮肤的使用
    C#窗体阴影
  • 原文地址:https://www.cnblogs.com/chijijuedi/p/2364694.html
Copyright © 2011-2022 走看看