Обнаружение IE в Javascript, почему бы не использовать простые условные комментарии?

Чтобы обнаружить 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)
   ...

Помимо того факта, что это может вызвать затруднения, поскольку ее необходимо добавить на все страницы, есть ли какие-либо проблемы / соображения, о которых я мог не знать?


К вашему сведению: Я знаю, что лучше использовать обнаружение объектов , чем обнаружение браузера , но бывают случаи, когда вам все же нужно использовать обнаружение браузера.

47
задан Community 23 May 2017 в 10:30
поделиться