Проверка браузеров - плохая идея, лучше вместо браузера проверить функции .Например, обычно вы проверяете, использует ли пользователь IE, потому что вы хотите использовать некоторые функции, не поддерживаемые в IE.Однако знаете ли вы, что ВСЕ текущие и будущие браузеры не IE будут поддерживать эту функцию?Нет. Таким образом, способ, используемый, например, jQuery, лучше: он создает и выполняет небольшие тестовые случаи, проверяя определенные ошибки / функции, - и вы можете просто проверить такие вещи, как if (browser_supports_XYZ) вместо проверки, использует ли пользователь определенный браузер.*
В любом случае, всегда есть случаи, когда необходимо проверить браузер, потому что это визуальная ошибка, которую вы не можете проверить на предмет использования скрипта.В этом случае лучше использовать javascript вместо условных комментариев, потому что браузер проверяет прямо в том месте, где он вам нужен, а не в каком-то другом месте (представьте себе файл .js, где вы проверяете isIE, который никогда не определяется в этом файле)