В одном из моих классов веб-разработки нас попросили создать скрипт, который обнаруживает NE4, NE6 +, IE4, IE6 +
Ваш класс веб-разработки безнадежно, смехотворно устарел.
В те времена, когда Netscape4 и IE4 были распространенными браузерами, часто приходилось анализировать тип браузера и предоставлять им разные таблицы стилей и сценарии, поскольку их поддержка стилей и функций DHTML была очень разной.
В наши дни базовый браузер, самый низкокачественный браузер, о котором вам нужно беспокоиться, - это IE6. Почти никто не использует ничего ниже этого, потому что IE6 поставлялся с XP, а использование не модернизированных коробок Win2K и Win9X исчезающе мало. Конечно, никто во вселенной не использует IE4 или ужасный Netscape 4; очень немногие современные веб-сайты будут работать на них.
Благодаря веб-стандартам все остальные браузеры, на которые вы можете настроить таргетинг (IE7 +, Firefox2 +, Opera, Safari, Chrome, Konqueror), как правило, достаточно близки к совместимости, поэтому вам редко понадобится много обнаруживать браузер. IE6 требует некоторой осторожности, но, как правило, если вы используете стандартный режим, вы можете обойтись несколькими хакерами CSS (в частности, «* html») и некоторым анализом возможностей в сценариях, вместо того, чтобы обслуживать совершенно другой контент для него.
Теперь мои вопросы: каким способом лучше всего обнаружить обнаружение объектов в браузере пользователя или использовать объект навигатора?
Обнаружение объекта / метода.
По возможности избегайте навигатора; часто это делается в целях совместимости, и сканирование строк, чтобы попытаться определить имена браузеров, может легко вызвать неожиданные токены в строке user-agent.
В случае, когда вам нужно детально определить IE6 (который является наиболее распространенным браузером, для которого нужно обнаруживать и добавлять обходные пути), и нет подходящего способа перехвата возможностей, лучше использовать условную компиляцию чем обработчик navigator.userAgent.