• 最短JS判断是否为IE6(IE的写法)


    最短JS判断是否为IE6(IE的写法)

    代码如下:

    var isIE=!!window.ActiveXObject;
    var isIE6=isIE&&!window.XMLHttpRequest;
    var isIE8=isIE&&!!document.documentMode;
    var isIE7=isIE&&!isIE6&&!isIE8;
    if (isIE){
    if (isIE6){
    alert("ie6");
    }else if (isIE8){
    alert("ie8");
    }else if (isIE7){
    alert("ie7");
    }
    }

    然后是一个稍微短的 js 判断是否 ie 的方法:
    这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)

    代码如下:

    var ie = 0/*@cc_on+1@*/;

    一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:

    代码如下:

    var ie = !+'v1';

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


    代码如下:

    var ie = !-[1,];

    利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:


    代码如下:

    var ie6=!-[1,]&&!window.XMLHttpRequest;
     
     
    在别人项目里看到的:

    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    if (window.ActiveXObject)
    Sys.ie = ua.match(/msie ([d.]+)/)[1]
    else if (document.getBoxObjectFor)
    Sys.firefox = ua.match(/firefox/([d.]+)/)[1]
    else if (window.opera)
    Sys.opera = ua.match(/opera.([d.]+)/)[1]

    function isIe() {
    if(Sys.ie)
    return 0;
    else if(Sys.firefox)
    return 1;
    else if(Sys.opera)
    return 2;
    else
    return 3;
    }

  • 相关阅读:
    node基础(2)
    node基础知识(1)
    面试题1
    HTML5中的表单属性
    H5中元素的拖放
    Niagara基于javascript的控件开发
    CSS居中
    2018-3-21 url 、href、src
    2018-3-7 色彩的一些知识
    JS基本数据类型
  • 原文地址:https://www.cnblogs.com/xyzq/p/6072767.html
Copyright © 2020-2023  润新知