JavaScript хаки определения браузеров  В след за статьей CSS хаки для браузеров, не плохо было бы продолжить тему обнаружения браузеров. Так, в результате экспериментов Gareth Heyes, была создана статья по обнаружению браузеров, но на JavaScript. В то время, как он тестировал Hackvertor и писал инспекционные функции. Смотрим...
1. Переменные должны быть сокращениями названий браузеров, например, FF, IE, Op, Saf, Chr. 2. Обнаружение не должно быть перезаписано. Например, IE=!!top.execScript не верно, потому что сайт может переназначить execScript, как переменную или функцию. 3. Меньше и как можно быстрее.
JavaScript04 | FF3=(function x(){})[-5]=='x' |
06 | FF2=(function x(){})[-6]=='x' |
10 | Saf=/a/.__proto__=='//' |
12 | Chr=/source/.test((/a/.toString+'')) |
14 | Op=/^function (/.test([].sort) |
16 | try {IE6=@cc_on @_jscript_version <= 5.7&&@_jscript_build<10000} catch(e){IE6=false;} |
18 | 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' |
Источник: 2web-master.ru |
|
текущее:
НОВОСТИ |