Разработка сайтов, создание сайтов
главная / JavaScript / JavaScript хаки определения браузеров

JavaScript хаки определения браузеров

JavaScript хаки определения браузеров
В след за статьей CSS хаки для браузеров, не плохо было бы продолжить тему обнаружения браузеров. Так, в результате экспериментов Gareth Heyes, была создана статья по обнаружению браузеров, но на JavaScript. В то время, как он тестировал Hackvertor и писал инспекционные функции. Смотрим...

1. Переменные должны быть сокращениями названий браузеров, например, FF, IE, Op, Saf, Chr.
2. Обнаружение не должно быть перезаписано. Например, IE=!!top.execScript не верно, потому что сайт может переназначить execScript, как переменную или функцию.
3. Меньше и как можно быстрее.

JavaScript

01//Firefox detector 2/3 by DoctorDan
02FF=/a/[-1]=='a'
03//Firefox 3 by me:-
04FF3=(function x(){})[-5]=='x'
05//Firefox 2 by me:-
06FF2=(function x(){})[-6]=='x'
07//IE detector
08IE='v'=='v'
09//Safari detector
10Saf=/a/.__proto__=='//'
11//Chrome
12Chr=/source/.test((/a/.toString+''))
13//Opera
14Op=/^function (/.test([].sort)
15//IE6 detector using conditionals
16try {IE6=@cc_on @_jscript_version <= 5.7&&@_jscript_build<10000} catch(e){IE6=false;}
17//All
18B=(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'




Источник: 2web-master.ru
текущее:

НОВОСТИ

2011 г., «VisMech.ru»