Як визначити тип і версію браузера з використанням jquery, master-web

Напевно я не відкрию Америку, якщо скажу, що бібліотека jQuery є на сьогоднішній день найпопулярнішим фреймворком для швидкого написання ненав'язливого JS. Багато проектів і багато популярних CMS. наприклад, Drupal або WordPress, використовують jQuery за замовчуванням в ядрі. Тому, верстальщику веб-сторінок вкрай бажано знати і вміти використовувати, хоча б, базові можливості цієї бібліотеки. Сьогодні я розповім про сам, мабуть, тривіальний, але при цьому вельми часто використовуваний метод визначення браузера за допомогою jQuery. Робиться це за допомогою властивості jQuery.browser

jQuery. є одним з властивостей глобальних об'єктів jQuery. Власне $ .browser або jQuery.browser дозволяє визначити, який веб-браузер на даний момент має доступ до веб-сторінці. Це дуже корисно, наприклад, якщо ми хочемо передати будь-які спеціальні дані для певного браузера.

jQuery.browser має прапори для основних популярних браузерів. Вони наведені в списку нижче:

  • webkit (jQuery 1.4 і вище)
  • safari (не рекомендується, як застаріле)
  • opera
  • msie
  • mozilla

Використання властивості jQuery.browser

$ .browser.webkit $ .browser.safari $ .browser.opera $ .browser.msie $ .browser.mozilla

Якщо цей вислів повертає «true», то це означає, що користувач використовує браузер відповідає прапору в вираженні.

Визначення версії браузера з використанням JQuery

Для того, щоб визначити не тільки тип користувальницького агента, але і версію, потрібно використовувати розширене властивість jQuery.browser.version. Воно повертає рядок. jQuery.browser.version є одним з властивостей глобальний об'єкт JQuery.

Використання jQuery.browser.version

Наприклад, перед нами стоїть завдання визначити Intenet Explorer 6 (не питайте навіщо 🙂). Для цього нам потрібно використовувати властивості jQuery.browser і jQuery.browser.version:

Примітка:
В JQuery API починаючи з версії JQuery 1.3, дане властивість вважається застарілим, але його можна використовувати так як не планується його виключення з бібліотеки в найближчих версіях. Розробники сьогодні рекомендую використовувати набір властивостей jQuery.support з глобальних об'єктів jQuery
Виклик даного властивості викликає тест технологій які підтримує браузер і методом виключення підтримки тієї чи іншої особливості можна також визначити тип браузера.

Використання jQuery.support

Список тестованих властивостей:

  • boxModel. встановлюється в true, якщо сторінка обробляється браузером у відповідність з моделлю W3C CSS Box Model (зараз не підтримується в IE 6 і 7, коли вони в режимі Quirks Mode). Поки документ повністю не завантажений, ця властивість має значення null.
  • cssFloat. встановлюється в true, якщо style.cssFloat використовується для доступу до поточного значення CSS float (зараз не підтримується в IE, там використовується styleFloat).
  • hrefNormalized. встановлюється в true, якщо браузер залишає недоторканими результати getAttribute ( "href») (зараз не підтримується в IE).
  • htmlSerialize. встановлюється в true, якщо браузер правильно впорядковує елементи посилань, коли використовуються innerHTML (зараз не підтримується в IE).
  • leadingWhitespace. встановлюється в true, якщо браузер зберігає порожні місця при використанні innerHTML (зараз не підтримується в IE 6-8).
  • noCloneEvent. встановлюється в true, якщо браузер не клонує обробники подій, коли клонуються елементи (зараз не підтримується в IE).
  • objectAll. встановлюється в true, якщо виконання getElementsByTagName ( »*») щодо об'єкта повертає всі дочірні елементи (зараз не підтримується в IE 7 і IE 8).
  • opacity. встановлюється в true, якщо браузер правильно інтерпретує властивість видимості елемента (зараз не підтримується в IE, там використовуються alpha-фільтри).
  • scriptEval. встановлюється в true, якщо при використанні appendChild / createTextNode для вбудовування скриптів вони виконуються (зараз не підтримується в IE, там використовується .text для вбудовування виконуваних скриптів).
  • style. встановлюється в true, якщо функція getAttribute ( "style») здатна повертати стиль, вказаний елементом (зараз не підтримується в IE - там використовується cssText).
  • tbody. встановлюється в true, якщо браузер дозволяє створення елементів таблиці без блоків tbody (зараз не підтримується в IE, де блоки tbody вставляються автоматично, якщо їх немає в рядку, прикріпленою до innerHTML).

Даний код скаже користувачеві що його браузер в порядку в тому випадку, якщо користувач не використовує IE 6-7 в режимі Quirks Mode.

Власне варіюючи даними прийомами можна отримати досить великий і гнучкий набір можливостей.

Сьогодні наявність сайту у компанії вже не назвеш примхою, розкішшю і навіть перевагою. Жорстка конкуренція в Харкові призвела до того, що створення сайтів стало необхідністю. Відвідавши webakula.com.ua ви більше дізнається про студію «ВебАкула», яка займається створенням і просуванням сайтів в інтернеті.

Схожі записи:

Схожі статті