Как определить возможности браузера? - PullRequest
4 голосов
/ 14 декабря 2011

Из всего прочитанного мною понятно, что использование строки user-agent не рекомендуется, так как ее можно подделать.Устройства могут быть заблокированы и т. Д.

Я также понял, что лучшим вариантом является тестирование возможностей браузера.

Как мне сделать его?Я имею в виду, есть ли какой-нибудь стандартный тест возможностей, который я мог бы сделать, что-то вроде этого: обнаружение объекта ?

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

Пожалуйста, не предлагайте использовать сторонние плагины / фреймворки, такие как jQuery.

Ответы [ 2 ]

5 голосов
/ 14 декабря 2011

Modernizr - это библиотека, которая выполняет обнаружение функций. Вы можете использовать библиотеку как есть, а затем запросить ее для нужных вам функций или посмотреть, как она работает для определенных функций, которые вы хотите обнаружить, и скопировать ее в свой собственный код.

Способ определения функции для конкретной функции полностью зависит от конкретной функции.

Фактическое обнаружение функций обычно происходит довольно быстро (возможно, даже быстрее, чем извлечение / сохранение чего-либо в cookie). Кроме того, лучше всего выполнять обнаружение функций каждый раз, когда пользователь обновляет браузер до более новой версии, и его возможности меняются.

Например, если вы хотите узнать, можете ли вы использовать метод .forEach () для объекта Array, вы можете просто использовать это:

if ( Array.prototype.forEach ) {  
    // enter code here
}
2 голосов
/ 14 декабря 2011

Вот статья в журнале MSDN, в которой говорится на эту тему: Позади нет браузера: стратегия внедрения HTML5 .

Они упоминают об использовании инфраструктуры, но вы можете применять методы, объясненные без нее..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...