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;
  • 相关阅读:
    Webpack安装及基础配置
    相机拍到了光源的灯珠图像
    面向对象特殊用法
    面向对象初始
    内置函数和必须的模块
    模块基本模式
    函数三
    函数二
    装饰器
    函数初识
  • 原文地址:https://www.cnblogs.com/chijijuedi/p/2364694.html
Copyright © 2011-2022 走看看