Обзоры, статьи, исследования



Определение браузера и его версии у пользователя с помощью jQuery


Определение браузера и его версии у пользователя - одна из важных функций веб-программирования. В JavaScript главным инструментом проверки характеристик браузера являются свойства appName (возвращает название модели браузера) и userAgent (возвращает набор характеристик браузера) объекта navigator.

При этом есть ряд ограничений для задачи определения характеристик браузера, которые следует учесть:

набор характеристик браузера, возвращаемый userAgent, сильно отличается у разных браузеров (не всегда версия браузера идёт вначале);
избыточность кода

Главным недостатком такого подхода является второе ограничение - большой размер кода, реализация той же функции с помощью jQuery намного изящней. При этом используется navigator.userAgent.

На данный момент в версии jQuery 1.2 реализовано лишь несколько флагов объекта jQuery.browser, к которым можно обращаться - но их с лихвой хватает для большинства ситуаций использования определения версии браузера. Итак, перечислим эти флаги:

safari
opera
msie
mozilla
и отдельно скажем об version

Теперь выделить код для отдельного браузера можно с большой легкостью:

if ($.browser.msie) {
//код только для ИЕ любой версии - изменения стилей, фиксируем баги ИЕ здесь!
alert("this is code for IE only!");
}

Выделяем код для определённой версии:

if ($.browser.msie && $.browser.version == 6) {
//код только для ИЕ шестой версии!
alert("this is code for IE 6 only!");
}

Примечание: запись $.browser идентична полной записи $jQuery.browser - какую применять, решите сами.

Полезная информация:

API/1.2/Utilities/jQuery.browser - справочная информация об определении модели браузера на официальном сайте jQuery
API/1.2/Utilities/jQuery.browser.version - справочная информация об определении версии браузера на официальном сайте jQuery
Пол Уитон "Основы JavaScript" - c.187 - 189 (примеры проверки версии браузера).

подлокотник ваз 2109