黑客是这样用JavaScript检测浏览器的
2009 3 11 02:20 PM 1604次查看
分类:JavaScript 标签:JavaScript
所以就有其他方法,比如判断ActiveXObject是否定义,来检测是否为IE。
不过黑客的方法更简短,下面来看看吧。
原文:DETECTING BROWSERS JAVASCRIPT HACKS
//检测Firefox 2/3
FF=/a/[-1]=='a'
//检测Firefox 3
FF3=(function x(){})[-5]=='x'
//检测Firefox 2
FF2=(function x(){})[-6]=='x'
//检测IE
IE='\v'=='v'
//检测Safari
Saf=/a/.__proto__=='//'
//检测Chrome
Chr=/source/.test((/a/.toString+''))
//检测Opera
Op=/^function \(/.test([].sort)
合起来就是这个:B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':/a/[-1]=='a'?'FF':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/^function \(/.test([].sort)?'Op':'Unknown'
你可以把下面的内容复制到地址栏,回车就会弹出来浏览器的名称了:javascript:alert('你用的浏览器是'+((function x(){})[-5]=='x'?'Firefox3':(function x(){})[-6]=='x'?'Firefox2':/a/[-1]=='a'?'Firefox':'\v'=='v'?'IE':/a/.__proto__=='//'?'Safari':/s/.test(/a/.toString)?'Chrome':/^function \(/.test([].sort)?'Opera':'Unknown'));
更新:目前Chrome已经不能用这个方法检测了。
向下滚动可载入更多评论,或者点这里禁止自动加载。