Подтвердить что ты не робот

Как не загружать script в IE?

Можно загрузить script только в IE с условными комментариями

<!--[if lte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->

но что делать, если я не хочу загружать его в IE lte 7 (но все же он нужен во всех других браузерах)?

Любые простые решения?

P.S. У меня проблема с SyntaxHighlighter - слишком много кода замедляет IE7, и, поскольку мне не хватает времени, я решил просто отключить его в IE7 на данный момент.

4b9b3361

Ответ 1

В этом сообщении говорится, что вы можете использовать оператор ! (NOT), например [if !IE]

Ответ 2

<![if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]>

Ответ 3

<!--[if gte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->

Ответ 4

Этот синтаксис работает хорошо (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]-->

Ответ 5

Вы можете попытаться определить серверную часть браузера, а затем включить эхо-код, соответствующий script.

Ниже приведен пример упрощенного обнаружения браузера в PHP:

http://www.php-scripts.com/20050912/12/

Ответ 6

Я использовал примеры, показанные здесь и в других местах, и очень сложно увидеть, сколько мест этот пример кода запутался. Оказывается, ответ прост, 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/