Напевно я не відкрию Америку, якщо скажу, що бібліотека 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 ви більше дізнається про студію «ВебАкула», яка займається створенням і просуванням сайтів в інтернеті.