Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.09.2009, 16:58
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

Сообщение от Koc
объясните, почему jQuery.browser является deprecated?
Наврено потому, что разработчики jQuery тоже считают:
Сообщение от Gvozd
глупость.
надо определять не версию браузера, а что он умеет делать
Ответить с цитированием
  #12 (permalink)  
Старый 08.04.2010, 20:20
Интересующийся
Отправить личное сообщение для pashak Посмотреть профиль Найти все сообщения от pashak
 
Регистрация: 08.04.2010
Сообщений: 16

Кроме userAgent
К сожалению, window.navigator.userAgent не даёт достаточно сведений о браузере. Например, те же Opera и Safari имеют функции подмены юзерагента и сайты, базированные на юзерагенте, неправильно определяют, какой на самом деле браузер перед ними.
Точное определение версии может понадобиться, например, при ограничении доступа определенных браузеров к сайту, например, Opera не обрабатывает нажатие правой кнопки мыши, что является очень большим минусом и т.п.
Итак, проведя некоторые исследования, я смог обнаружить "метки", отличные от userAgent, в браузерах, которые определенно показывают версию.

Opera:
window.opera - точно указывает на то, что браузер - Opera
window.opera.version() - возвращает версию Opera

Chrome:
window.chrome - объект, специфичный для Chrome
window.chromium - характерен для браузеров на движке Chromium
Стоит отметить, что он, как и Safari базирован на WebKit и в его userAgent дополнительно пишется Safari.

Safari:
window.navigator.vendor="Apple Computer, Inc." - всегда так, не в зависимости, на какой юзерагент эмулируется. К сожалению, будет недостаточно для определения, мобильный ли это браузер.

IE:
Общеизвестные условные комментарии, система событий, currentStyle и многое другое.

Mozilla:
window.mozInnerScreenX и другие расширяющие moz-свойства

Другие браузеры менее распространены, поэтому я не занимался их изучением.
Если есть неточность, поправьте меня

P.S. Определять версию совсем не глупость. Старые версии могут уметь делать "что-либо" но с глюками, а, определив версию, можно учитывать это обстоятельство.

Последний раз редактировалось pashak, 08.04.2010 в 20:23.
Ответить с цитированием
  #13 (permalink)  
Старый 08.04.2010, 22:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

Сообщение от pashak
Определять версию совсем не глупость. Старые версии могут уметь делать "что-либо" но с глюками, а, определив версию, можно учитывать это обстоятельство.
глупость
а если браузер выдаст какую-то версию о которой тебе ничего неизвестно, что делать?
хато определив возмоджности браузера, вполне можно ожидать какой код отработает в данном случае
Ответить с цитированием
  #14 (permalink)  
Старый 09.04.2010, 08:43
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Прям битва знаний=)
__________________
.
Ответить с цитированием
  #15 (permalink)  
Старый 09.04.2010, 17:55
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,741

Определение возможностей это прекрасно, но от одного исключения из этого правила никуда не убежать, угадайте какого.))
Ответить с цитированием
  #16 (permalink)  
Старый 09.04.2010, 18:05
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Aetae, просветите непросветленных
Ответить с цитированием
  #17 (permalink)  
Старый 15.10.2015, 13:32
Новичок на форуме
Отправить личное сообщение для onotole404 Посмотреть профиль Найти все сообщения от onotole404
 
Регистрация: 15.10.2015
Сообщений: 1

Сообщение от Gvozd
глупость.
надо определять не версию браузера, а что он умеет делать
Нифига не "глупость". Тот же IE 9 заявляет, что он много чего умеет делать. А на самом деле оно там есть, но работает через жопу. Одним feature detection не обойдёшься. Бывают ситуации, когда заявленная возможность в браузере присутствует, но работает с отличиями. В таких случаях просто необходимо иметь возможность определить данный конкретный браузер и его версию.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота страницы по высоте окна браузера Николян (X)HTML/CSS 4 16.01.2014 18:12
Как получить текущую страницу браузера psychodrake Общие вопросы Javascript 12 18.09.2008 23:28
Определение активности окна браузера Dextrum Events/DOM/Window 2 23.07.2008 12:58
Реклама по центру окна браузера Макс Элементы интерфейса 2 14.06.2008 23:55
Не просто определение типа браузера... Driver86 Общие вопросы Javascript 6 08.04.2008 20:35