/ ie

JavaScript用13个字节判断IE浏览器

在中国,用户最多的浏览器当属Microsoft的Internet Explorer浏览器,虽然现在呈现下滑趋势。同其他浏览器开发厂商一样,微软在ECMA-262的基础上为JScript增加了很多特性,这些特性只有在IE下才有效。而我们为了保证这些特殊的代码只在IE下执行,就必须正确的判断出当前用户的浏览器是不是IE,本文就介绍了三种方法,最小的一个才13个字节。【原文标题】32 bytes, ehr … 9, to know if your browser is IE
【原文作者】Andrea Giammarchi
【译文出自】http://cuimingda.com/2009/01/how-to-know-if-your-browser-is-ie.html

以下是对原文的翻译:

**更新:**答案更新为13字节版,非常感谢Gareth Heyes赢得了这次竞赛
if("\v"=="v") // 这个判断真的只有在IE下才为真,包括IE 8。我以前的办法,32字节版本:
try{IE=window=!1}catch(e){IE=!0}用很有效,不是么?这个技巧通常应用在类库(library/hack proof)中。但如果你认为使用execScript来做判断已经足够了,那你就要来考虑一下这种情况:
top["execScript"]=null当然还要考虑到类库为其他浏览器也实现了execScript方法。

以下为译者的注释和补充说明:

在Ajaxian.com上列举的通过execScript判断IE的方法:
IE=top.execScript?1:0在Ajaxian上的回复,提到了Microsoft的《JScript Deviations from ES3》(这个文档列举了JScript对ECMA-262第三版的增强列表),说在这个文档的7.2节提到了本文说的方法,我下载了这个文档,但第七章还没有编写完,可能找到不是一个版本吧。中国还是IE的用户比较多,所以推荐大家仔细看一下这篇文档,两个下载地址,一个是ECMA的,一个是Microsoft,链接在页面上很好找,PDF格式。

不过貌似又有一种更短的方法:

if(-[1,])

是否能用有待考证。

JavaScript用13个字节判断IE浏览器
Share this