Определение версии браузера
Слышал, что можно определить версию IE браузера.
Хочу создать if/else условие, для загрузки скрипта. Не доскажете, как это реализовать? |
Цитата:
надо определять не версию браузера, а что он умеет делать но, раз уж все-таки вы изъявили желание, то вот, делайте: navigator.userAgent http://javascript.ru/basic/regular-expression PS в гугле есть готовый код, вообще-то по вашей теме учитесь искать, пожалуйста |
|
<!--[if IE 8]>< ![endif]--> <!--[if !(IE 8)]>< ![endif]--> <!--[if lt IE 8]>< ![endif]--> <!--[if gt IE 7]>< ![endif]--> <!--[if lte IE 7]>< ![endif]--> <!--[if (IE 7)|(IE 8)]>< ![endif]--> <!--[if (gte IE 6)&(lte IE 8)]>< ![endif]--> <!--[if !IE]> --><!-- <![endif]--> lt = lower than gt = grater than lte = lower than or equal ! - exept |
Определить версию IE можно и так:
JS <script type="text/javascript"> //<![CDATA[ if (navigator.userAgent.indexOf(IE 6) != -1) document.write(<style type="text/css" media="all">@import url('ie6.css'); //]]> </script> SSI <!--#if expr="$HTTP_USER_AGENT=/Windows/" --> <!--#set var="ua" value="Explorer" --> PHP <?php if (strpos($HTTP_USER_AGENT,"Windows") !==false) { $ua="Explorer"; $uaVers = substr($HTTP_USER_AGENT,strpos($HTTP_USER_AGENT,"MSIE")+6); } else { $ua=$HTTP_USER_AGENT; $uaVers=""; } ?> |
navigator.appVersion.match(/MSIE\u0020([.\d]+);/)[1] >= 5.5
|
(navigator.appVersion.match(/MSIE\u0020([.\d]+);/)||[])[1] >= 5.5 А то в не-ИЕ будет TypeError: ... is null |
e1f,
определяем версию браузера, а не браузер, браузер, понятное дело, уже определен, раз речь зашла о его версии. |
Conditional Compilation!
var ie /*@cc_on = ScriptEngineMinorVersion() @*/; верно для IE5.5—8 |
объясните, почему jQuery.browser является deprecated?
|
Цитата:
Цитата:
|
Кроме userAgent
К сожалению, window.navigator.userAgent не даёт достаточно сведений о браузере. Например, те же Opera и Safari имеют функции подмены юзерагента и сайты, базированные на юзерагенте, неправильно определяют, какой на самом деле браузер перед ними.
Точное определение версии может понадобиться, например, при ограничении доступа определенных браузеров к сайту, например, Opera не обрабатывает нажатие правой кнопки мыши, что является очень большим минусом и т.п. Итак, проведя некоторые исследования, я смог обнаружить "метки", отличные от userAgent, в браузерах, которые определенно показывают версию. Opera: window.opera - точно указывает на то, что браузер - Opera window.opera.version() - возвращает версию Opera Chrome: window.chrome - объект, специфичный для Chrome window.chromium - характерен для браузеров на движке Chromium Стоит отметить, что он, как и Safari базирован на WebKit и в его userAgent дополнительно пишется Safari. Safari: window.navigator.vendor="Apple Computer, Inc." - всегда так, не в зависимости, на какой юзерагент эмулируется. К сожалению, будет недостаточно для определения, мобильный ли это браузер. IE: Общеизвестные условные комментарии, система событий, currentStyle и многое другое. Mozilla: window.mozInnerScreenX и другие расширяющие moz-свойства Другие браузеры менее распространены, поэтому я не занимался их изучением. Если есть неточность, поправьте меня ;) P.S. Определять версию совсем не глупость. Старые версии могут уметь делать "что-либо" но с глюками, а, определив версию, можно учитывать это обстоятельство. |
Цитата:
а если браузер выдаст какую-то версию о которой тебе ничего неизвестно, что делать? хато определив возмоджности браузера, вполне можно ожидать какой код отработает в данном случае |
Прям битва знаний=)
|
Определение возможностей это прекрасно, но от одного исключения из этого правила никуда не убежать, угадайте какого.))
|
Aetae, просветите непросветленных :)
|
Цитата:
|
Часовой пояс GMT +3, время: 10:31. |