try{IE=window=!1}catch(e){IE=!0}Con el resultado esperado en sólo 32 bytes: IE==1 sólo si se ejecuta desde Internet Explorer.
Gracias a Andrea Giammarchi. Addendum: En Ajaxian hacen referencia a este asunto y se ha abierto una auténtica batalla en los comentarios para conseguir algo aún más corto:
IE='\v'=='v' // El JScript de IE no soporta el tabulador vertical "\v" (12 bytes)
IE=top.execScript?1:0Addendum: En The Spanner extienden la idea para el resto de navegadores, tratando de encontrar la secuencia más corta de identificar un navegador concreto (via).
FF=/a/[-1]=='a' //Firefox FF3=(function x(){})[-5]=='x' //Firefox 3 FF2=(function x(){})[-6]=='x' //Firefox 2 IE='\v'=='v' //IE Saf=/a/.__proto__=='//' //Safari Chr=/source/.test((/a/.toString+'')) //Chrome Op=/^function \(/.test([].sort) //Opera
Best way:
ResponderEliminar!-[1,]
Aleko, muy, muy bueno! [pretty good!]
ResponderEliminarGracias.