Автор статьи: Головин Андрей
Если вы разобрались чем отличаются реализации HTML у различных производителей, то это еще половина решения проблемы. ваш скрипт должен «знать» в среде какого браузера он в данный момент работает.
Я уже писал об определении браузеров. Но тогда я использовал самый примитивный код. Дело в том, что реализация отличается даже при изменении в младшей цифре версии. Кроме того есть еще несколько полезных параметров, которые можно «узнать» у пользовательского агента. Для реализации этого я предлагаю вам библиотеку detect.js
Вам достаточно загрузить указанный файл и вставить его в тело своего документа (лучше сделать это в секции <HEAD>) таким образом ( имейте ввиду, что internet explorer версии 3 не понимает такой конструкции. В этом случае просто скопируйте библиотеку в тэг <SCRIPT>):
<SCRIPT TYPE=»text/javascript» SRC=»detect.js»></SCRIPT>
и в вашем распоряжении будет объект br. Его свойства приведены в следующей таблице:
>
Свойство | Описание |
---|---|
br.name | Название браузера: Internet Explorer, Netscape Navigator и Opera |
br.shortName | Сокращенное название браузера: EXP — Internet Explorer NAV — Netscape Navigator OPR — Opera |
br.version | Версия браузера |
br.minorVer | Младшая составляющая версии |
br.language | Язык браузера(*) |
br.plainAgentStr | То же самое, что и navigator.userAgent |
br.plainNameStr | То же самое, что и navigator.appName |
br.plainVersionStr | То же самое, что и navigator.appVersion |
(*) Указывается язык версии браузера, а не язык, на который настроено отображение страниц.
Кроме того в вашем распоряжении оказывается три логических переменных: IE, NN и OP, которые принимают значение истина в случае если используется Internet Explorer, Netscape Navigator или Opera, соответственно.
использовать, например, можно так:
<b>Вы используете Internet Explorer версии 5.01 </b>
Вот код этого фрагмента:
Вы используете <SCRIPT>document.write(br.name)</SCRIPT>
версии <SCRIPT>document.write(br.version)</SCRIPT>
Необходимо сделать замечание, что этот скрипт определяет версии Opera и Internet Explorer индивидуально, исходя из строки userAgent, так как Opera любой версии на appVersion выдает «3.0», а IE с установленным SP1 на appMinorVersion выдает «;SP 1;». Это, конечно, нужная информация, но чаще бывает нужен именно реальный номер версии браузера, т.е. для Opera, например, «3.60b3», а для IE minorVersion «01».
Порекомендую вам не устанавливать ссылку на локальную версию этого скрипта, а установить ссылку на скрипт, расположенный на сервере «Опытов». Таким образом на вашей странице будет работать всегда самая последняя версия. Сделать это можно так:
<SCRIPT TYPE=»text/javascript» SRC=»home.ural.ru/~tbi/exper/detect.js»></SCRIPT>
1 комментарий
Лучше проверять не тип и версию браузера, а его возможности. Хороший фреймворк для определения возможностей браузера has.js. Небольшое описание есть тут:Определение возможностей JavaScript с помощью has.js