Вопрос по ie11-developer-tools, conditional-comments, browser, internet-explorer, internet-explorer-11 – Почему Internet Explorer 11 не учитывает условные комментарии даже при эмуляции режима документов Internet Explorer 8?

111

м, используя новыйинтернетисследователь11 Инструменты разработчика для переключения режима документа на «8», но условные комментарии по-прежнему игнорируются, то есть они не анализируются должным образом и ведут себя как обычные комментарии. Поэтому любой ссылочный файл внутри условного комментария не запрашивается / не загружается браузером.

Почему это происходит? Это ошибка?

Если вы считаете, что это действительно ошибка, которую необходимо исправить, войдите и скажите, что вы тоже можете воспроизвести это в отчете об ошибках Microsoft, о котором сообщается об этой проблеме:

Условные комментарии не работают при эмуляции режимов документов с помощью F12 Developer Tools.

Обновить: Эта проблема была исправлена в упомянутом отчете об ошибке.

@ClarkeyBoy - беспокойство об использовании 3 ГБ пространства звучит как прошлое для меня ... simon
Действительно, это делает функцию непригодной для использования. Thasmo
Еще один большой недостаток использования ВМ заключается в том, что вы неУ него нет доступа к Dev Tools, который IE11 предоставляет даже в режиме эмулятора. serg
Задавая себе тот же вопрос! Я знаю, что они опустили условные комментарии в IE10, но ИМХО эмулятордолжен учитывайте их при тестировании старых браузеров. Alexander Rechsteiner

Ваш Ответ

8   ответов
0

Некоторые из условных комментариев работают, например, ''gt а также ''ltно например

20

Я просто попытался использовать это винтернетисследователь11 на Windows 7, чтобы убедиться, что я использовалHTML5 семантические элементы создавались дляинтернетисследователь8 и ниже (через условные комментарии), и браузер просто игнорирует их. -_-

Эта функция прекрасно работала винтернетисследователь10и Microsoft просто пришлось возиться с этим, не так лит они?


Помимо этого яя на самом деле наслаждаюсь интернетомПроводник, который вносит изменения.

Да, IE 11 - лучший опыт со всеми анимациями, которые действительно работают :). Да, у MS есть историямастерить» с вещами, только когда пользователи начинают привыкать к ним. Посмотрите, что они сделали с Windows XP ... »Исправление, чтоне сломан "некоторые люди скажут. Во всяком случае, это отстой Rolf
@ Энтони Не беспокойся. DylRicho
@ Энтони Мой ответ неверный? Как так? Это'в основном говорит, что тымы только что сказали. DylRicho
@AdrienBe: Действительно, твоя бабушка? Вот это да. Какие'Последний браузер, который вы и ваша бабушка разработали вместе? Держу парихорошо. Конечно, у IE есть проблемы, но эточертовски лучше, чем я бы сделал, так что я неСтонать об этом. hofnarwillie
17

Это сработало для меня и кажется самым элегантным / легким исправлением (интернетисследователь10 а такжеинтернетисследователь11 Я думаю, что единственные браузеры, которые поддерживают-ms-high-contract):

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
   /* IE10+ specific styles go here */
}
Вы только что спасли меня от разбивания экрана моего компьютера ... спасибо !!! :) Adam
Отлично, спасибо. Когда Microsoft собирается убить этот беспорядок? Kohjah Breese
Бак за это, IE 11 не соблюдает старый условный метод. <! - [если IE]> Gino
7

У меня есть другое решение для этого.

интернетисследователь11 с интернетомисследователь8 включенный режим совместимости содержит строку 'MSIE 8.0 ', так:

(Пример PHP)

if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0') !== false) {
    $head[] = sprintf('');
}
@mgutt You 'верно. В эмуляции есть два параметра - режим документа и пользовательский агент. Режим документа меняет работу браузера и отображение страницы, а пользовательский агент меняет браузер, рассказывающий сайту о браузере.версия с. (в моем примере этоs $ _SERVER ['HTTP_USER_AGENT»] переменная, которая содержит эту информацию) Так что в основном вам нужно изменить обе эти опции, например, на IE8. Andrei Konstantinov
+1, лучший ответ на этой странице. Работает удовольствие для тестирования. McNab
@ Андрей Спасибо. Теперь я нашел настройку. Проблема была в немецком переводе. Они переведеныпользовательский агент " с "Zeichenfolge des Benutzer-Agents " и я подумал, что это означает кодировку. Некоторые вещи не должны быть переведены;) mgutt
Этот сайт является удобным справочником того, как выглядят все перестановки строк пользовательского агента:useragentstring.com/pages/Internet%20Explorer Drew
7

Я недавно столкнулся с той же проблемой. Я также обнаружил, что некоторые условные комментарии работают:

gt а такжеlt работал нормальноgte а такжеlte никогда не работал

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

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

2

Я не'не вижу здесь упомянуто, но в этомсообщение об ошибке Следует отметить, что если вы измените настройки представления совместимости, условные комментарии будут работать так, как ожидается. Так:

В IE11 нажмите «Инструменты"Совместимость Просмотр настроекВведите URL-адрес и нажмите кнопку Добавить

Кажется, теперь работает нормально на моем localhost. Я не проверял это подробно, но, возможно, это кому-то поможет.

Но посетители вашего сайта должны будут сделать то же самое, чтобы получить тот же результат. Делать это бесполезным. poepje
Да. Но это для случаев, когда вы тестируете старые версии IE с помощью инструментов разработчика IE11. Таким образом, используя IE11, но работая как IE8, условные комментарии не будут работать. Для тех, кто действительно использует IE8, условные комментарии будут работать. Возможно ^ _ ^ Just Plain High
Ах, хорошо, я нене понимаю, спасибо :) poepje
3

У меня была та же проблема - это сводило меня с ума все утро. я добавилModernizr, и я выбрал все варианты, в том числе yepnope.js.

Итак, теперь мой тест выглядит так:

Modernizr.load({
            test: Modernizr.canvas,
            nope: ['Content/Site-ie-8.min.css', 'Content/font-awesome-ie7.min.css']
});

В этом случае я проверяю на холст (который неподдерживается до интернетаисследователь9), поэтому я загружаю свой условный контент. Теперь это работает при переключении режимов браузера в интернетеисследователь11 инструментов разработчика.

Условные комментарии не делайтене полагайтесь на сценарий или любой сторонний код. Walf
@Walf - правда, но онитакже не поддерживается в IE. Посмотреть здесь:msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx El Kabong
28

Согласно вJacob Rossi [MSFT]

Это должно быть исправлено в обновлении 1 для IE11,выпущен на прошлой неделе.

Это было опубликовано 22 апреля 2014 года.

Когда я сам провел несколько тестов, оказалось, что это было исправлено, и все снова работает гладко для тестирования самого удивительного браузера из когда-либо созданных ... Internet Explorer!

О том, что IEсамый удивительный браузер? poepje
Вы ДОЛЖНЫ быть безрассудными. poepje
@MohamedHussain - моя версия 11.0.9600.17690IC. L84
За это нужно больше голосовать. Мне пришлось копаться в двух ответах переполнения стека, чтобы попасть сюда. Tek

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