zoukankan      html  css  js  c++  java
  • 最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)

    常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测。

     1 var isIE=!!window.ActiveXObject;
     2 var isIE6=isIE&&!window.XMLHttpRequest;
     3 var isIE8=isIE&&!!document.documentMode;
     4 var isIE7=isIE&&!isIE6&&!isIE8;
     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 }

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

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

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

     1 var ie = !+'v1'; 

    2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:(不能判断ie9以上版本)

     1 var ie = !-[1,]; 

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

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

  • 相关阅读:
    jdbc(插入大对象及读取大对象、存储过程)
    jdbc批量插入操作(addBatch)
    javase(Properties集合及学生对象信息录入文本中案例)
    javase模拟斗地主洗牌和发牌(54)
    javase套接字编程
    javase网络编程
    javase多线程复制
    javase文件切割及融合
    设计原则
    模板方法模式
  • 原文地址:https://www.cnblogs.com/yijinc/p/5633062.html
Copyright © 2011-2022 走看看