Я использую новые инструменты разработчика Internet Explorer 11, чтобы переключить режим документа на «8», но условные комментарии по-прежнему игнорируются, то есть они не анализируются должным образом и ведут себя как обычные комментарии. Таким образом, любой файл, на который есть ссылка внутри условного комментария, не запрашивается / не загружается браузером.
Почему это происходит? Это ошибка?
Если вы считаете, что это действительно ошибка, которую необходимо исправить, войдите и скажите, что вы тоже можете воспроизвести это в отчете об ошибке Microsoft, который сообщается для этой проблемы:
Условные комментарии не работают при эмуляции режимов документа с помощью F12 Developer Инструменты .
Обновление: эта проблема была исправлена в упомянутом отчете об ошибке.
Ответы:
согласно с
Jacob Rossi [MSFT]
Это было опубликовано 22 апреля 2014 года.
Проведя несколько тестов, я действительно обнаружил, что это было исправлено, и все снова идет гладко для тестирования самого замечательного браузера из когда-либо созданных ... Internet Explorer!
источник
Я просто попытался использовать это в Internet Explorer 11 в Windows 7, чтобы убедиться, что используемые мной семантические элементы HTML5 создаются для Internet Explorer 8 и ниже (с помощью условных комментариев), а браузер просто игнорирует их. -_-
Эта функция отлично работала в Internet Explorer 10 , и Microsoft просто пришлось с ней повозиться, не так ли?
Кроме того, мне нравится Internet Explorer, в котором есть некоторые изменения.
источник
Это сработало для меня и кажется самым элегантным / простым исправлением ( Internet Explorer 10 и Internet Explorer 11, я думаю, являются единственными поддерживающими браузерами
-ms-high-contract
):источник
Недавно я столкнулся с той же проблемой. Я также обнаружил, что некоторые условные комментарии работают:
gt
иlt
работал нормальноgte
иlte
никогда не работалТаким образом, одним из возможных решений было бы изменить условные операторы, чтобы использовать
gt
иlt
операторов.Другой альтернативой, которая показалась мне более полезной, было использование такой службы, как browserstack .
источник
У меня есть другое решение для этого.
Internet Explorer 11 с включенным режимом совместимости с Internet Explorer 8 содержит строку «MSIE 8.0», поэтому:
(Пример PHP)
источник
У меня была такая же проблема - это сводило меня с ума все утро. Я добавил Modernizr и выбрал все параметры, включая yepnope.js.
Итак, теперь мой тест выглядит так:
В этом случае я проверяю холст (который не поддерживается до Internet Explorer 9), поэтому я загружаю свое условное содержимое. Теперь это работает при переключении режимов браузера в инструментах разработчика Internet Explorer 11.
источник
Я не видел, чтобы это упоминалось здесь, но в этом отчете об ошибке отмечается, что если вы измените настройки представления совместимости, условные комментарии будут работать должным образом. Так:
Кажется, теперь на моем локальном хосте все работает нормально. Я не тестировал это тщательно, но, возможно, это кому-то поможет.
источник
Некоторые условные комментарии работают, такие как '
gt
' и 'lt
', но, например,<!--[if IE 8]>
, не работают. Это, безусловно, неудобно для разработчиков, которые хотят попробовать, как их веб-страницы выглядят в разных версиях браузеров Internet Explorer, но это не все плохие новости.Хотя условные комментарии не работают, вы все равно можете проверить, как выглядит ваша веб-страница в каждой из версий Internet Explorer, добавляя таблицы стилей по одной: допустим, у вас есть таблица стилей для Firefox, Chrome, Internet Explorer 10 и Internet Explorer. 11 называется '
screen.css
', и еще одна таблица стилей ТОЛЬКО для Internet Explorer 9 называется 'screen-ie9.css
' и еще одна таблица ТОЛЬКО для Internet Explorer 8 называется 'screen-ie8.css
'.Чтобы протестировать свои веб-страницы ТОЛЬКО для Internet Explorer 9, вы можете сделать следующее:
а в инструментах разработчика F12 в разделе «Эмуляция» установите для параметра «Режим документа» значение «9», а для параметра «Строка пользовательского агента» значение «Internet Explorer 9». Режим документа - это стандарт, который использует Internet Explorer 9, а строка агента пользователя - это сам браузер.
PS: Я предполагаю, что "
screen.css
" - это ваша базовая таблица стилей, поэтому я называю ее первой, а не "перезаписываю" исправления Internet Explorer 9 позже, вызывая "screen-ie9.css
" второй.Делая это, вы можете быть «уверены» (я должен протестировать виртуальные машины, чтобы написать слово «уверен» без кавычек), что вы просматриваете свою веб-страницу в браузере Internet Explorer 9. Когда вы закончите тестирование и стилизацию в Internet Explorer 9 и захотите протестировать с Internet Explorer 8, вы можете легко проделать тот же трюк, заменив это:
с этим:
Таким образом, это всего лишь вопрос НЕБОЛЬШИХ неудобств со стороны Microsoft, НО новые инструменты разработчиков F12 предлагают МНОГО замечательных функций, что делает это не так уж и много.
источник