Posted in Javascript onAugust 07, 2013
代码如下:
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″); } }
上述是一般常用的JavaScript用来检测浏览器为IE哪个版本的代码。
而由于今年1月一位俄国人,利用了IE与标准浏览器在处理数组的toString方法的差异,完美的利用6bytes:!-[1,]完成了对是否为IE浏览器的检测 。而之前最短代码为:!+”\v1″的7bytes。利用这些发现我们同样可以使我们的代码写的更短更有艺术。如今检测是否为IE6其实可以写成
!-[1,]&&!window.XMLHttpRequest
这个代码在实际使用中还是颇为有用的,既然能写的更短何乐而不为呢。相对于之前那大段累赘的分析navigator然后正则比较的方式当然效率更高,代码更简洁完全没有不用道理。在JavaScript编写过程中应该多多的利用诸如||、&&、!、!!这类的运算符,不光是在if()这样的情况下。
js判断浏览器类型的方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@