Если вам действительно нужно знать, какой браузер они используют, вам, в основном, нужно взглянуть на строку userAgent
(хотя вы можете иногда выводить браузер, ища пара неясных черт). Просто помните, что некоторые браузеры позволяют пользователю изменять это и лгать вам. : -)
Но обнаружение браузера вышло из моды по веским причинам. Вместо этого, как вы говорите, вы хотите обнаружить функции, которые вы ищете. Это более надежно и требует меньше работы. Например, тот факт, что IE не поддерживает addEventListener
, не означает, что он никогда не будет (а на самом деле IE9 поддерживает). Таким образом, вместо этого вы обнаруживаете функцию, которая проверяет код на будущее.
Вот конкретный пример. Предположим, вы хотите узнать (как я сделал для моего плагина place5 jQuery ), поддерживает ли браузер атрибут placeholder
. Вы могли бы использовать обнаружение браузера и вести список браузеров, в каких версиях есть или не поддерживается, что является грязным и что-то, к чему вы должны постоянно возвращаться, и т. Д. может сделать это:
if ("placeholder" in document.createElement("input")) {
// The browser supports the attribute
}
else {
// It doesn't
}
... и все готово.
На этой странице имеется большой набор тестов функций, поддерживаемых kangax . Также есть библиотека под названием Modernizr , которая выполняет обнаружение функций, медиазапросы и многое другое для вас. Если вы используете jQuery, он имеет функцию обнаружения некоторых функций, встроенную через jQuery.support
. В этой статье .
есть хорошее обсуждение различных аспектов обнаружения функций, медиазапросов, определения форм-фактора (планшет, телефон или ПК?)