Ответ 1
В этом сообщении говорится, что вы можете использовать оператор !
(NOT), например [if !IE]
Можно загрузить script только в IE с условными комментариями
<!--[if lte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
но что делать, если я не хочу загружать его в IE lte 7 (но все же он нужен во всех других браузерах)?
Любые простые решения?
P.S. У меня проблема с SyntaxHighlighter - слишком много кода замедляет IE7, и, поскольку мне не хватает времени, я решил просто отключить его в IE7 на данный момент.
В этом сообщении говорится, что вы можете использовать оператор !
(NOT), например [if !IE]
<![if !IE]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]>
<!--[if gte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
Этот синтаксис работает хорошо (script не будет комментировать в firefox, chrome и т.д.):
<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->
Вы можете попытаться определить серверную часть браузера, а затем включить эхо-код, соответствующий script.
Ниже приведен пример упрощенного обнаружения браузера в PHP:
Я использовал примеры, показанные здесь и в других местах, и очень сложно увидеть, сколько мест этот пример кода запутался. Оказывается, ответ прост, IE имеет специальные "условные выражения", такие как [if IE], но другим браузерам нужны комментарии для работы с "условностями".
Например, поскольку JQuery 2 не работает с IE8, вы можете сделать что-то вроде этого
<!--[if IE ]> (following is only visible to IE)
<script src="./js/lib/jquery-1.6.1.min.js"></script>
<![endif]-->
<!--[if !IE]>--> (extra comment - only visible to non-IE)
<script src="./js/lib/jquery-2.1.1.min.js"></script>
<script src="./js/lib/jquery.mobile-1.4.5.min.js"></script>
<!--<![endif]-->
Я проверил вышеуказанные работы в Firefox, Chrome, IE8, Dolphin mobile и Chrome mobile. Вы также можете указать версию. Например, меньше, чем IE 9: <!--[if lt IE 9 ]>
Подробное объяснение можно найти http://www.sitepoint.com/web-foundations/internet-explorer-conditional-comments/