Как вернуть «режим браузера» в IE11?

132

ОБНОВЛЕНИЕ : старый вопрос относится только к предварительной версии IE11; Режим браузера вернулся в финальной версии IE11. Но есть загвоздка: он почти бесполезен, потому что не имитирует условные комментарии. Например, если вы используете их для включения поддержки HTML5 в устаревших IE, вы больше не сможете отлаживать свой сайт в IE11.

        <!--[if lte IE 8]>
            <script src="html5shiv.js"></script>
        <![endif]-->

Прочтите еще один вопрос StackOverflow и проблему с отслеживанием ошибок IE . Microsoft так и не отреагировала на это, поэтому похоже, что они ввели эту ошибку специально, чтобы побудить людей покупать подписки BrowserStack. Эмуляция условных комментариев отлично работала в предварительной версии.

ОРИГИНАЛЬНЫЙ ВОПРОС . Когда предварительный просмотр IE11 установлен в Windows 7, он поставляется со старомодным инструментом F12, который позволяет изменять режимы браузера. введите описание изображения здесь

Однако, если вы перейдете в меню «Инструменты» и выберите инструмент разработчика «F12», он будет заменен новыми инструментами разработчика, а «Режим браузера» больше не будет доступен. введите описание изображения здесь

Единственный способ вернуть его - удалить IE11 и переустановить его.

Есть ли более простой способ переключаться между режимами браузера в IE11?

Евгений
источник
1
Это кажется отличным вопросом для форума MS (или, возможно, отчета об ошибке!)
Mathletics
4
@Mathletics - это не ошибка, это сделано специально.
Spudley
2
Как, черт возьми, тебе удалось получить первый экран? Почему я нажимаю F12, появляется ВТОРОЙ ЭКРАН.
Sliq
1
@Panique - он был там, когда я впервые установил IE11. Вероятно, это потому, что у меня всегда есть инструмент F12 в IE10, поэтому он каким-то образом перенес этот параметр. Затем я могу использовать клавишу F12, чтобы показать и скрыть это. ПРОСТО НЕ ПЕРЕХОДИТЕ В МЕНЮ ИНСТРУМЕНТОВ. Если вы хотите вернуть его, сначала удалите обновление IE11. Работает для меня.
Евгений

Ответы:

146

[ОБНОВИТЬ]

Исходный вопрос и ответ ниже относились конкретно к предварительным версиям IE11 .

Окончательная версия из IE11 действительно фактически предоставлять возможность переключения режимов браузера на вкладке Эмуляции в Дев инструментах:

Снимок экрана, показывающий выбор режима браузера на вкладке эмуляции

Сказав это, совет, который я дал здесь (и в других местах), чтобы избежать использования режимов совместимости для тестирования, все еще актуален: если вы хотите протестировать свой сайт на совместимость со старыми версиями IE, вы всегда должны проводить тестирование в реальной копии той версии IE.

Однако это означает, что взлом реестра, описанный в ответе @EugeneXa для восстановления старых инструментов разработчика, больше не нужен, поскольку в новых инструментах разработчика теперь есть функция, которую он отсутствовал.


[ОРИГИНАЛЬНЫЙ ОТВЕТ]

Разработчики IE намеренно отказались от возможности переключать режим браузера.

Существует не так много причин, по которым люди будут переключать режимы в инструментах разработчика, но одна из основных причин заключается в том, что они хотят протестировать свой сайт в старых версиях IE. К сожалению, различные режимы совместимости, предоставляемые IE, никогда не были полностью совместимы со старыми версиями IE, и тестирование с использованием режима совместимости просто не является достаточно хорошей заменой для тестирования в реальных копиях IE8, IE9 и т. Д.

Разработчики IE осознали это и намеренно усложняют разработчикам возможность совершить эту ошибку.

Лучше всего вместо этого использовать реальные копии каждой версии IE для тестирования вашего сайта.

Различные режимы совместимости по-прежнему доступны в IE11, но доступны только в том случае, если сайт явно заявляет, что он хочет работать в режиме совместимости. Вы можете сделать это, добавив X-UA-Compatibleзаголовок на свою страницу.

И раскрывающееся меню «Режим документа» по-прежнему доступно, но будет предлагать только варианты «Edge» (то есть лучший режим, доступный для текущей версии IE, поэтому режим IE11 в IE11) или режим, в котором работает страница. в.

Поэтому, если вы перейдете на страницу, загруженную в режиме совместимости, у вас будет возможность переключаться между конкретным режимом совместимости, в котором страница была загружена, или режимом IE11 «Edge».

А если вы перейдете на страницу, которая загружается в режиме IE11, вам будет предложен только «пограничный» режим и ничего больше.

Это означает, что он по-прежнему позволяет вам проверить, как страница режима совместимости реагирует на обновление для работы в режиме Edge, что в любом случае является единственным действительно законным вариантом использования для раскрывающегося окна режима документа.

В раскрывающемся списке IE11 Document Mode есть iзначок рядом с ним, который позволяет перейти на веб-сайт modern.ie. Смысл этого в том, чтобы побудить вас загрузить виртуальные машины, которые MS предоставляет нам, чтобы протестировать наши сайты с использованием реальных копий каждой версии IE. Это даст вам гораздо более точный опыт тестирования и настоятельно рекомендуется как гораздо лучшая практика, чем тестирование путем переключения режима в инструментах разработчика.

Надеюсь, это немного объясняет вам.

Spudley
источник
8
Хотя тестирование с использованием бесплатных виртуальных машин, предоставляемых MS, абсолютно лучше, оно также требует больше времени. Мне нужно запустить виртуальную машину, мне нужно переключаться между несколькими разными виртуальными машинами, и я должен переустанавливать маленьких жучков каждый раз, когда заканчивается таймер активации, поскольку они не предоставили никаких ключей активации. Тем не менее, я думаю, мы должны быть благодарны за то, что они действительно взяли на себя труд настроить эти виртуальные машины. Вы можете обнаружить множество ошибок со старыми режимами совместимости F12, а затем проверить один раз, используя виртуальные машины. Но я отвлекся.
ivarni
7
Я понимаю, почему они считают, что отказаться от раскрывающегося списка «Режим совместимости» - это хорошая идея, но я думаю, что это также пощечина любому разработчику, который на самом деле тратит время на то, чтобы убедиться, что их сайт работает в IE. Как отмечали другие, проверка очевидных ошибок с помощью средства проверки совместимости сработала хорошо. Кроме того, у вас было преимущество в виде приличного набора инструментов разработчика (по сравнению с мусором, который был инструментами в IE7 и даже 8.) Я также практикую проверку виртуальных машин, любой хороший разработчик будет. Но это изменение просто означает, что разработчики меньше заботятся о том, чтобы что-то работало в старом IE.
LocalPCGuy
4
Кстати, мне не нужно загружать полную ОС в виртуальную машину, чтобы протестировать глупый браузер. Если Microsoft действительно хотела, чтобы разработчики убедились, что их материалы работают в более старых версиях IE, они должны предоставить лучший БЕСПЛАТНЫЙ вариант для этого. В противном случае кажется, что они поощряют разработчиков просто игнорировать старые версии и беспокоиться только об исправлении ошибок в более новых версиях.
LocalPCGuy
9
Нет ... BrowserStack не бесплатен, виртуальные машины - это неудобство в использовании (не говорите мне иначе, у меня все они настроены, и мне нужно сбрасывать их каждые 3 месяца и т. Д., Это боль ). Я знаю все о предложениях Modern.ie и Microsoft. Microsoft убирает простой бесплатный метод, который работал около 90% того, что большинству разработчиков необходимо тестировать, и заменяет его громоздкими виртуальными машинами или платными услугами. Цвет меня не впечатлил. И я один из сторонников Microsoft, работаю в основном в магазине .NET. И я думаю, что это ТУМБ.
LocalPCGuy
4
Я вижу это так: «Мы облажались и дали вам неправильные инструменты для исправления наших ошибок, поэтому теперь мы собираемся указать вам на инструменты, которые приносят нам деньги».
Zenexer
19

Хотя использование виртуальных машин является лучшим способом тестирования старых IE, можно вернуть устаревшие инструменты F12, отредактировав реестр, поскольку IE11 перезаписывает это значение при активации нового инструмента F12.

Спасибо классному Дмитрию Николаю за этот трюк. введите описание изображения здесь

Это работает для меня (сохраните как файл .reg и запустите):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser]
"ITBar7Layout"=hex:13,00,00,00,00,00,00,00,00,00,00,00,30,00,00,00,10,00,00,00,\
  15,00,00,00,01,00,00,00,00,07,00,00,5e,01,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,69,e3,6f,1a,8c,f2,d9,4a,a3,e6,2b,cb,50,80,7c,f1
Евгений
источник
8
Я не знаю, впечатлен ли тот факт, что кому-то удалось найти способ взломать IE11, чтобы вернуть старые инструменты разработчика, или подавлен тем, что они были готовы пожертвовать всеми удивительными нововведениями в инструментах разработки IE11 только ради возможность переключать режим браузера. :-(
Spudley
7
Это все связано с наследием Microsoft по производству браузеров, не совместимых со стандартом W3C. В IE10 или 11 нет ничего плохого - они отлично подходят для современного браузера. Речь идет о 9 и 8, а до недавнего времени 7 и 6. Поскольку их невозможно установить вместе с современным IE в Windows 8, необходим хороший инструмент эмуляции.
Евгений
1
Уловка здесь интересная, но она явно не поддерживается Microsoft и может иметь непредвиденные побочные эффекты.
EricLaw
5
Я не думаю, что это вообще бессмысленно. Мой рабочий процесс при тестировании IE состоит в том, чтобы сначала использовать режим совместимости F12 и конкретизировать все обнаруженные проблемы, а ЗАТЕМ я решаю проблему запуска виртуальной машины. Это намного эффективнее, чем проводить все тесты IE на (разных) виртуальных машинах.
ivarni
2
Чтобы этот рег-хак работал у меня, мне также пришлось обновить значение ITBar7Layout64. Тогда это сработало, однако при закрытии и открытии инструментов F12 произошел сбой IE :) Хорошо, что я сделал резервную копию ключа reg.
Ian Yates
17

Вы можете получить это с помощью эмуляции (Ctrl + 8), режима документа (10,9,8,7,5), профиля браузера (рабочий стол, Windows Phone).

введите описание изображения здесь

Rajnikanth
источник
Спасибо, что поделились, где это найти, я был в тупике! :)
Мишель
5

Самый простой способ, особенно если в MSDN, потраченные впустую часы моего времени, тупой MS

http://support.microsoft.com/kb/2900662/en-us?sd=rss

  1. Откройте панель инструментов разработчика. Для этого нажмите F12.
  2. Откройте экран эмуляции. Для этого нажмите Ctrl + 8.
  3. В списке Режим документа в разделе Режим щелкните 9.
  4. В списке строк пользовательского агента в разделе «Режим» щелкните Internet Explorer 9.
Сэм
источник
3
Просто вежливо к вашему сведению, постарайтесь включить детали решения, а не просто ссылку. Если ссылка когда-нибудь выйдет из строя, то ответ будет бесполезен для человека в будущем. Ссылка полезна, но сохраните ее как ссылку на информацию, которую вы включаете в свой подробный ответ.
Анил Натха
4

Вы можете обойти это, установив X-UA-Compatibleмета-заголовок для конкретной версии IE, с которой вы отлаживаете. Это изменит режим браузера на версию, указанную в заголовке.

Например:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

Чтобы обновить режим браузера в инструментах разработчика, необходимо закрыть [Инструменты разработчика] и снова открыть его. Это переключится на эту конкретную версию.

Переключение с младшей версии на более высокую будет работать нормально, обновив, но если вы хотите вернуться с большей версии на младшую версию, например, с 9 на 7, вам нужно будет открыть новую вкладку и загрузить страницу снова.

Вот скриншот:

введите описание изображения здесь

mendezcode
источник
2

В IE11 мы можем изменить пользовательский агент на IE10, IE9 и даже на Windows Phone. Это действительно хорошо

Лингарадж Р.М.
источник
3
Это просто изменяет строку пользовательского агента; это не меняет поведения браузера. Это совершенно бесполезно для тестирования совместимости.
Zenexer
2

Как вернуть «режим браузера» в IE11?

Легкий способ вернуть - просто перейти к эмуляции (ctrl +8)

и измените строку пользовательского агента. (см. прикрепленное изображение)

введите описание изображения здесь

Педрам
источник
Это просто изменяет строку пользовательского агента; это не меняет поведения браузера. Это совершенно бесполезно для тестирования совместимости. Кроме того, в вашем примере используется X-UA-Compatible.
Zenexer
2

У Microsoft есть инструмент именно для этой цели: Microsoft Expression Web. Есть бесплатная версия с кучей мусора, подобного FrontPage / Dreamweaver, который никому не нужен. Важно то, что у него есть отличная функция тестирования браузера. Я использую Windows 8.1 Pro (последняя версия, а не предварительная версия) с Internet Explorer 11. Я использую следующие локальные браузеры:

  • Internet Explorer 6
  • Internet Explorer 7
  • Internet Explorer 11 /! \ Неподдерживаемая версия (не могу использовать; большой возглас, у меня есть браузер)

Затем я получаю вариант удаленных браузеров (бета). Я должен зарегистрироваться с действующим адресом электронной почты, но произошла ошибка связи с сервером. Ну что ж.

Раньше поддерживалась Firefox, но сейчас я ее не вижу. Может прятаться.

Я могу сравнивать версии браузера бок о бок. Я также могу сравнить с изображением или, по-видимому, файлом PSD (не знаю, насколько хорошо это работает). InDesign был бы хорош, но, вероятно, он требует слишком многого.

У меня частично установлена ​​полная версия Expression, так как Visual Studio Ultimate находится на том же компьютере, поэтому я был бы признателен, если бы кто-нибудь подтвердил в комментарии, что моя бесплатная установка не обновляется автоматически.

Обновление: похоже, онлайн-сервис был прекращен , но локальные браузеры все еще поддерживаются. Так же можно скачать просто SuperPreview , без мусорного редактора. Если вам нужна полная среда IDE, последняя версия - Microsoft Expression Web 4 (бесплатная версия) . Вот официальный список поддерживаемых браузеров . IE6, кажется, выдает ошибку в Windows 8.1, но IE7 работает.

Обновление 2014-12-09: Microsoft в значительной степени отказалась от этого. Не ожидайте, что это сработает хорошо.

Zenexer
источник
В прошлый раз, когда я смотрел, Expression Web / Super Preview предоставляет только статические снимки страницы в различных браузерах. Хотя это то, что хотят веб-дизайнеры с идеальным пикселем, это не то, чего хотят разработчики - мы хотим взаимодействовать со страницами, отлаживать js и CSS и манипулировать DOM, и именно здесь на
помощь
@saille Сейчас у меня его нет, но я почти уверен, что он интерактивный.
Zenexer