Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Определение браузера с помощью jQuery (https://javascript.ru/forum/jquery/3486-opredelenie-brauzera-s-pomoshhyu-jquery.html)

Nubi 25.04.2009 22:16

Определение браузера с помощью jQuery
 
В версии 1.3.x ввели новый механизм возможности детектирования браузеров jQuery.support Порывшись, так и не смог понять, как детектировать только IE6.
Подскажите ? Интересует способ именно с помощью jQuery.support (+может еще что-то :) )

Riim 25.04.2009 22:58

Цитата:

Сообщение от Nubi
В версии 1.3.x ввели новый механизм возможности детектирования браузеров jQuery.support

Разве это детектирование браузеров? Судя по коду, там просто определяются его возможности.

Цитата:

Сообщение от Nubi
Порывшись, так и не смог понять, как детектировать только IE6.

Т. е. нужно с помощью возможностей отделить IE6 от IE7+ ? Если так-то единственное к чему можно прицепиться это:
// Make sure that you can get all elements in an <object> element
// IE 7 always returns no results
objectAll: !!div.getElementsByTagName("object")[0]
	.getElementsByTagName("*").length,


Судя по комменту в IE7+ objectAll == 0 (no results) а в IE6 objectAll > 0. Но это еще проверить надо.


Может лучше использовать jQuery.browser.version ?

Nubi 25.04.2009 23:32

Цитата:

Сообщение от Riim
Может лучше использовать jQuery.browser.version ?

слышал, что она подглючивает. Да и в документации для 1.3 она указана как нежелательная (если я правильно понял).
Еще ходил по ссылке http://yura.thinkweb2.com/cft/ там указано про баг для 6-го осла и ниже; те можно детектировать с помощью него. только я не понял как прописать условие..
Riim, спасибо за ваш пример, буду смотреть.

x-yuri 26.04.2009 03:23

Цитата:

В версии 1.3.x ввели новый механизм возможности детектирования браузеров jQuery.support Порывшись, так и не смог понять, как детектировать только IE6.
а где там про новый способ определения браузеров что-то сказано? Они просто перешли к лучшему методу написания скриптов: определение возможностей, а не определение браузера. И вопрос, с которого следует начать: зачем нужно определить, что текущий браузер - ie?

Kolyaj 26.04.2009 12:46

Цитата:

Сообщение от Nubi
Да и в документации для 1.3 она указана как нежелательная

Любое детектирование браузера нежелательное. Детектировать нужно функцию, которую планируется использовать, а не браузер, в котором этой функции может не быть.

skywa1ker 10.01.2011 13:41

Иногда полезно определять не версию браузера, а его возможности.
Хороший фреймворк для определения возможностей браузера has.js. Небольшое описание есть тут: Определение возможностей JavaScript с помощью has.js

Sufir 04.02.2011 11:14

А по теме... Есть решение, как определить при помощи jQ браузер вообще, и IE6 в частности? Мне нужны именно не возможности, а версия.. В принципе и не jQ решение устроит, но лучше через jQ.

x-yuri 04.02.2011 20:07

для чего именно нужна версия?

Sufir 05.02.2011 10:42

Для статистики.

x-yuri 06.02.2011 05:05

достойная причина :) в jQuery есть browser detection. Для большей достоверности можно сравнить реализацию jQuery с другими библиотеками


Часовой пояс GMT +3, время: 01:38.