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 |
текущее:
НОВОСТИ |