Условный комментарий для «Кроме IE8»?

Я использую <!--[if IE 8]><![endif]--> для таргетинга на IE8, но есть некоторые JS, которые я хочу загрузить для всех браузеров, ЗА ИСКЛЮЧЕНИЕМ IE8. Какой условный комментарий мне следует использовать?

Изменить: интересно, сработает ли это: <!--[if lte IE 8]><![endif]-->

Спасибо


person eozzy    schedule 07.11.2009    source источник
comment
Параметр lte будет включать JS в IE до версии 8.0, но не в браузерах, отличных от IE.   -  person Siddhartha Reddy    schedule 07.11.2009
comment
LTE означает «меньше или равно». Если вы хотите строго меньше, используйте LT.   -  person EricLaw    schedule 25.11.2009


Ответы (3)


Я могу придумать трюк. Установите переменную внутри условного тега IE и включите свой JS-код, если эта переменная не установлена.

<script>
    var ie8 = false;
</script>

<!--[if IE 8]>
    <script>
        ie8 = true;
    </script>
<![endif]-->

<script>
    if (ie8 == false) {
        // any code here will not be executed by IE 8
        alert("Not IE 8!");
    }
</script>
person Siddhartha Reddy    schedule 07.11.2009
comment
Лучшее решение этой проблемы, с которым я столкнулся, и я должен знать. Я целый день пытался сделать это с помощью чисто условных операторов! - person mickburkejnr; 08.07.2014
comment
Это был очень хороший трюк, Сиддхартха. И возможность снова окунуться в пыль времени, что и есть в IE;) - person narration_sd; 24.01.2015
comment
stackoverflow.com/a/10532958/1010918 актуален, поскольку это необходимо для загрузки конкретного файла CSS с помощью js, отличный ответ , Спасибо! - person lowtechsun; 01.10.2015

есть JS, который я хочу загрузить для всех браузеров, ЗА ИСКЛЮЧЕНИЕМ IE8, какой условный комментарий я должен использовать?

Чтобы что-то появилось в «других браузерах», не поддерживающих CC, вам понадобится на нижнем уровне условный комментарий.

<!--[if !IE 8]><!-->
    ....
<!--<![endif]-->

(это немного отличается от официального синтаксиса Microsoft, который не является допустимым HTML.)

«Все браузеры, кроме IE8» - необычное требование, вы уверены, что хотите? А как насчет будущих версий IE?

person bobince    schedule 07.11.2009
comment
+1 Чертовски хитрый трюк с вложенными комментариями. - person Raynos; 17.02.2011
comment
Я предполагаю, что вы могли бы использовать свой код с if gte IE 8, если хотите скрыть его от будущих выпусков IE, верно? - person ph33nyx; 13.09.2012
comment
@ ph33nyx: Да, это был бы гораздо более обычный тест, чем if !IE8. - person bobince; 03.12.2013

Попробуйте отрицание, [if !IE 8] возможно?

person meder omuraliev    schedule 07.11.2009
comment
Затем выходит IE9, и у вас будет довольно интересное поведение. Конечно, сейчас я не удивлюсь, если IE будет отображать радугу и единорогов вместо того, что я планировал. - person Matt; 07.11.2009