Донецкий техникум промышленной автоматики

Точне визначення браузера користувача

Періодично перед будь-яким програмістом стає завдання точного визначення браузера, який використовує користувач Періодично перед будь-яким програмістом стає завдання точного визначення браузера, який використовує користувач. Сьогодні натрапив на чудовий клас для точного визначення браузера на PHP. Причому, він може визначити не тільки браузер користувача, але і визначити операційну систему користувача.

Визначення відбувається на основі заголовка User-Agent. Тобто по суті ніяких нових методик, але вражає кількість обумовлених браузерів. Також клас досить зручний у використанні.

Посилання на джерело: chrisschuld.com
Посилання на архів: Browser-1-9.zip

Приклад використання (з коментарів до класу):

$ Browser = new Browser ();

if ($ browser -> getBrowser () == Browser :: BROWSER_FIREFOX && $ browser -> getVersion ()> = 2) {

echo 'You have FireFox version 2 or greater';

}

На даний момент (23.12.2011 v1.9) визначаються наступні браузери:

  • Opera (Browser :: BROWSER_OPERA)
  • WebTV (Browser :: BROWSER_WEBTV)
  • NetPositive (Browser :: BROWSER_NETPOSITIVE)
  • Internet Explorer (Browser :: BROWSER_IE)
  • Pocket Internet Explorer (Browser :: BROWSER_POCKET_IE)
  • Galeon (Browser :: BROWSER_GALEON)
  • Konqueror (Browser :: BROWSER_KONQUEROR)
  • iCab (Browser :: BROWSER_ICAB)
  • OmniWeb (Browser :: BROWSER_OMNIWEB)
  • Phoenix (Browser :: BROWSER_PHOENIX)
  • Firebird (Browser :: BROWSER_FIREBIRD)
  • Firefox (Browser :: BROWSER_FIREFOX)
  • Mozilla (Browser :: BROWSER_MOZILLA)
  • Amaya (Browser :: BROWSER_AMAYA)
  • Safari (Browser :: BROWSER_SAFARI)
  • iPhone (Browser :: BROWSER_IPHONE)
  • iPod (Browser :: BROWSER_IPOD)
  • Google's Android (Browser :: BROWSER_ANDROID)
  • Google's Chrome (Browser :: BROWSER_CHROME)
  • GoogleBot (Browser :: BROWSER_GOOGLEBOT)
  • Yahoo! 'S Slurp (Browser :: BROWSER_SLURP)
  • W3C's Validator (Browser :: BROWSER_W3CVALIDATOR)
  • BlackBerry (Browser :: BROWSER_BLACKBERRY)

І такі платформи:

  • Windows (Browser :: PLATFORM_WINDOWS)
  • Windows CE (Browser :: PLATFORM_WINDOWS_CE)
  • Apple (Browser :: PLATFORM_APPLE)
  • Linux (Browser :: PLATFORM_LINUX)
  • Android (Browser :: PLATFORM_ANDROID)
  • OS / 2 (Browser :: PLATFORM_OS2)
  • BeOS (Browser :: PLATFORM_BEOS)
  • iPhone (Browser :: PLATFORM_IPHONE)
  • iPod (Browser :: PLATFORM_IPOD)
  • BlackBerry (Browser :: PLATFORM_BLACKBERRY)
  • FreeBSD (Browser :: PLATFORM_FREEBSD)
  • OpenBSD (Browser :: PLATFORM_OPENBSD)
  • NetBSD (Browser :: PLATFORM_NETBSD)
  • SunOS (Browser :: PLATFORM_SUNOS)
  • OpenSolaris (Browser :: PLATFORM_OPENSOLARIS)
  • iPad (Browser :: PLATFORM_IPAD)

Погодьтеся, список вражає, чи не так?)