Чтобы обнаружить IE, большинство Javascript-библиотек делают всевозможные трюки.
- jQuery, похоже, добавляет временный объект на ваши страницы DOM для обнаружения некоторых функций,
- YUI2 выполняет регулярное выражение в пользовательском агенте в
YAHOO.env.ua = function()
(файлyahoo.js
)
После прочтения этого ответа мне пришло в голову, что это правда, для того, чтобы просто обнаружить IE в Javascript, мы могли бы просто добавить на наши страницы:
<!--[if IE]><script type="text/javascript">window['isIE'] = true;</script><![endif]-->
<script type="text/javascript" src="all-your-other-scripts-here.js"></script>
Теперь переменная window.isIE
устанавливается для всего нашего кода Javascript, просто делая:
if(window.isIE)
...
Помимо того факта, что это может привести к боли, потому что оно должно быть добавлено на всех страницах, есть ли какие-либо проблемы/соображения, о которых я мог бы не знать?
FYI: Я знаю, что лучше использовать обнаружение объекта, а не обнаружение браузера, но бывают случаи, когда вам все еще нужно использовать обнаружение браузера.