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.