Вопрос по conditional-comments, javascript, internet-explorer – Так как условные операторы не работают в IE (10,11) и Microsoft поддерживает только IE (11), и если кто-то все еще смотрит на выполнение специфичного для IE JavaScript, то этот код все еще работает, протестирован в IE (11) и не браузерах IE (Chrome, Firefox, край).

10

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

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

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

Какие-нибудь простые решения?

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

Работает на PHP Daniel J F
Используете ли вы серверный язык для создания своих страниц, или это просто HTML? Justin Pearce

Ваш Ответ

7   ответов
0

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

5
<![if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]>
Я не думаю, что это правильный код. Разве условные комментарии не начинаются и не заканчиваются как обычные комментарии (<! - ... ->)? В этом примере: <! - [if! IE]> ... <! [Endif] -> lindhe
Этонижестоящий комментарий и действует во всех браузерах. Herman J. Radtke III
4
<!--[if gte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
Разве это не будет работать только на версиях IE больше 7? Firefox увидит все это как комментарий. Mike Ruhlin
Это хорошая точка зрения, дополненная условным условием пониженного уровня. yzxben
1

а затем повторить соответствующий сценарий.

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

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

18

Эта почта говорит, что вы можете использовать! (НЕ) оператор как[if !IE]

Привет с 2014 года! По какой-то причине[if !IE] не похоже на работу для меня. Любые указатели кто-нибудь? Vikram Deshmukh
Хех, это может быть проще? Вы живете и учитесь. Спасибо! Daniel J F
3

efox, Chrome и т. Д.):

<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->
0

11) и Microsoft поддерживает только IE (11), и если кто-то все еще смотрит на выполнение специфичного для IE JavaScript, то этот код все еще работает, протестирован в IE (11) и не браузерах IE (Chrome, Firefox, край).

<script type="text/javascript">
    if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) 
        {document.write('<script src="../nolng/js/ex1IE.js"><\/script>');}
    else 
        {document.write('<script src="../nolng/js/ex1.js"><\/script>'); // for Chrome,Firefox,Edge}
</script>

Похожие вопросы