невозможно интерпретировать условные выражения IE в этом фрагменте <head>

0

Может кто-нибудь помочь мне прочитать это?

    <!--[if gt IE 8]><!-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <!--<![endif]-->

    <!--[if lte IE 8]>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <![endif]-->

Я понимаю, что если текущий браузер больше, чем 8, мы в конечном итоге используем 1.9.1, и если текущий браузер меньше или равен 8, мы получаем 1.7.2

У меня здесь несколько вопросов;

Во-первых, что, если в браузере нет даже IE? Например, Chrome. Как этот код заголовка включает JQuery вообще. Очевидно, что это так, но не может понять, как это сделать. Условие касается только IE. Не так ли?

Во-вторых, я запутался в snytax; <!--[if gt IE 8]><!--> часть выглядит иначе, чем часть <!--[if lte IE 8]>. лишний <!--> в первом смущает меня.

Здесь я получил отрывок из; http://bombdiggitydesign.com/crisp-2/Crisp-cool/index.html

Это как-то загружает JQuery для меня (я использую Chrome). Когда я исследую viewsource: я вижу это

<!--[if gt IE 8]><!-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="assets/js/jquery-1.9.1.min.js"><\/script>')</script>
        <!--<![endif]-->
        <!--[if lte IE 8]>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <![endif]-->

и в этом, только просмотр http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js можно щелкнуть в режиме просмотра хрома. Итак, хром каким-то образом делает это через условие <!--[if gt IE 8]><!-->.

Очевидно, это работает, но я смущен относительно того, как.

Теги:
internet-explorer
google-chrome

4 ответа

2

Для вашего первого вопроса, что специальность IE условных комментариев.

Для вашего вопроса в sencond,

<!--[if gt IE 8]><!--> //COMMENTS ENDS
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"/>    
<!--<![endif]--> //COMMENTS ENDS

Это не что иное, как комментарии для их удобства (точнее, READABILITY). Но jQuery 1.9.1 будет работать во всех браузерах.

Однако ваш jQuery 1.9.1 будет переопределен jQuery 1.7.2, только в браузерах IE <= 7.

FYI: в Internet Explorer 10 условные комментарии HTML не поддерживаются, когда страница находится в стандартном режиме (режим документа 10)

Надеюсь ты понимаешь.

  • 1
    Комментарий заканчивается! Спасибо! Это объясняет, как Chrome видит это. Очевидно, что HTML-код темы не работает! Я свяжусь с человеком, чтобы исправить это в ее премиальной теме.
  • 0
    @AverageJoe Рад слышать, что это помогло вам.
1

условные комментарии - это условная разметка ms... поэтому только трезубцы (т.е.) будут читать условные комментарии.... и это только до ie10... хотя вы все равно можете использовать условную компиляцию.

idk точно о том, как/что делают другие двигатели, когда они сталкиваются с ними... вы говорите, что хром их видит... я предполагаю, что это имеет смысл... пока никто не делает/ничего не делает, кроме для браузеров, с которыми вы ориентируетесь.

вы условные утверждения недействительны, как указывали другие два джентльмена. если вы исправите синтаксис, они будут работать нормально.

1

Эти условности ошибочны, поэтому. Перейдите сюда, чтобы посмотреть, как они должны быть структурированы: http://www.quirksmode.org/css/condcom.html

1

Вы используете неправильные "IE Hacks", поэтому ваш код является invaild. Вот статья, которая поможет вам:

К статье

Ещё вопросы

Сообщество Overcoder
Наверх
Меню