Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Определение типа браузера и версии, по возможностям браузера/движка (https://javascript.ru/forum/project/24996-opredelenie-tipa-brauzera-i-versii-po-vozmozhnostyam-brauzera-dvizhka.html)

devote 21.01.2012 22:08

Цитата:

Сообщение от monolithed
то следует посмотреть исходники популярных либ.

там все по юзерагенту сделано... а мне это не нужно.

monolithed 21.01.2012 22:21

Цитата:

Сообщение от devote
там все по юзерагенту сделано... а мне это не нужно.

А смысл извращаться?

float 21.01.2012 22:30

Цитата:

Но все же никто по теме посоветовать ничего не может?
Цитата:

там все по юзерагенту сделано... а мне это не нужно.
Если это для себя проверка - то сойдёт, а если для скрипта какого-нибудь массового, то я бы не стал надеяться на глобальные переменные...

devote 21.01.2012 22:47

Цитата:

Сообщение от float
то я бы не стал надеяться на глобальные переменные...

тоесть на строку UserAgent у вас больше надежды нежели на реальные возможности?

melky 21.01.2012 22:48

Цитата:

Сообщение от devote (Сообщение 151946)
тоесть на строку UserAgent у вас больше надежды нежели на реальные возможности?

userAgent можно подменить, а вот баги фичи браузеров - никак. может, стоит ориентироваться только на них?

devote 21.01.2012 22:52

Цитата:

Сообщение от melky
может, стоит ориентироваться только на них?

Ну дык я это и пытаюсь сделать.

melky 21.01.2012 22:56

Цитата:

Сообщение от devote (Сообщение 151950)
Ну дык я это и пытаюсь сделать.

наверное, это может вам помочь. правда, остаётся только определить версию. Но ведь это уже можно сделать с помощью user-agent (кроме IE, там слишком большие различия)?

PS. можно так же проверить версию браузера через реализацию каких-нибудь фич, вроде css animations.

Kolyaj 21.01.2012 22:57

devote,
у вас очень популярное заблуждение: вы, наверное, думаете, что это вы feature detection сделали. Нет, это не feature detection, это browser detection. Это чуть лучше, чем проверка userAgent, но лучше только тем, что userAgent можно подменить.

Feature detection -- это когда проверяется наличие конкретной фичи перед тем, как использовать эту фичу.

Например.
// feature detection
if (window.addEventListener) {
    window.addEventListener(...);
} else if (window.attachEvent) {
    window.attachEvent(...);
}


// не feature detection
if ('\v' == 'v') {
    window.attachEvent(...);
} else {
    window.addEventListener(...);
}



Есть фичи, наличие которых проверить нельзя. Как правило это различные баги браузеров. Тогда остаётся только browser detection. Неважно какой, они все плохие. Хотя проверка специфических переменных лучше, чем userAgent.

trikadin 21.01.2012 23:08

Kolyaj, нет, речь идёт не об определении возможностей браузера, а об определении браузера и версии браузера по наличию в них каких-то фич.

Kolyaj 21.01.2012 23:12

Цитата:

Сообщение от trikadin
об определении браузера и версии браузера по наличию в них каких-то фич.

Для чего это будет использоваться?


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