Как включить режим Edge в IE?

4937
kinokijuf

Я предпочитаю интерфейс IE для настольного компьютера новому браузеру «Microsoft Edge», и мне нужно настроить IE так, как я хочу (блокировка рекламы и т. Д.). Я не хочу, однако, быть ограниченным устаревшим механизмом MSHTML / Trident, который IE, кажется, по умолчанию. Как я могу включить использование EdgeHTML по умолчанию в IE?

3

4 ответа на вопрос

3
kinokijuf

Для этого была возможность about:flags, но этот интерфейс был поврежден, так как IIRC сборка 10130 и по-прежнему не работает в RTM по состоянию на 24 июля.

Тем не менее этот параметр реестра по-прежнему работает для включения EdgeHTML в IE:

[HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Internet Explorer \ Main] "DisableRandomFlighting" = DWORD: 00000001 "EnableLegacyEdgeSwitching" = DWORD: 00000001 

Изменить: В Windows 1511 (сборка 10586) это больше не работает.

0
CBHacking

Кажется, нет никакого способа (начиная со сборки 10240) все еще делать это из IE; about:flagsкажется, полностью ушел. Однако (по крайней мере, в редакции Enterprise) вы можете отредактировать реестр, чтобы включить EdgeHTML в IE. Имейте в виду, что это не работает идеально, хотя; в то время как нормальный просмотр работает, браузер будет идентифицировать себя как Edge (а не как IE вообще), если вы не используете инструменты разработчика F12 для изменения строки пользовательского агента. Сами инструменты F12 могут работать некорректно; такие функции, как ведение журнала в сети, по-видимому, не работают, и попытка выйти из режима пограничного документа может или не может работать (у меня были лучшие результаты на вкладке «Эмуляция», чем в раскрывающемся меню справа на верхней панели инструментов) ,

Вот некоторые готовые к сценарию команды для включения и отключения EdgeHTML в IE. Их не нужно запускать с повышенными правами и не следует запускать от имени другого пользователя (например, администратора):

reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v DisableRandomFlighting /t REG_DWORD /d 1 /f reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v EnableLegacyEdgeSwitching /t REG_DWORD /d 1 /f 

Чтобы восстановить поведение по умолчанию, необходимо только очистить (или удалить) последнее значение и перезапустить IE:

reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v EnableLegacyEdgeSwitching /t REG_DWORD /d 0 /f 

EDIT: Этот хак делает работу в Win10 дома, но не работает в Win10 построить 10586.29 (версия 1511, также известный как «Update ноября»). По крайней мере, я больше не могу заставить его работать на моем Win10 Enterprise box после обновления со сборки 10240. Если кто-нибудь знает, как заставить это работать на 10586, это знание будет высоко ценится!

Это работает в сборке 10240 и ограничено, какие версии Windows 10 точно? Ramhound 9 лет назад 0
Я на 10240 x64 Enterprise Edition. Это * должно * работать во всех выпусках, но я не проверял это. Не знаю, на сколько версий он будет работать, или будет ли MS официально возвращать эту функцию или убивать ее навсегда. CBHacking 9 лет назад 0
За исключением того, что не будет. Эта функция IE существует только в Windows 10 Enterprise Ramhound 9 лет назад 0
Ах, черт. Это кажется невероятно глупым с точки зрения Microsoft - как будто они * пытаются * поощрять людей не использовать свои браузеры, поскольку один из них запускает только устаревший движок рендеринга, а другой крайне ограничен в возможностях - но так и будет. Отмечу это в самом ответе. CBHacking 9 лет назад 1
Microsoft не хочет поддерживать IE, за исключением случаев, когда они должны (т.е. Enterprise) для 98% людей, использующих Windows 10, они будут использовать Microsoft Edge. То, что они делают в Enterprise, позволяет вам использовать Microsoft Edge, а затем настраивать конфигурацию, которая будет использовать IE11 только тогда, когда это необходимо для совместимости. IE11 в основном мертв, как и должно быть, интернет продвинулся вперед и стал очень громоздким. Ramhound 9 лет назад 0
Эх, это не то место, где можно это обсуждать, но ... Эдж * не * готов. У поврежденной конструкции Windows RT был лучший браузер (во всех отношениях, кроме движка рендеринга и средств разработки, и только потому, что он использовал текущие версии IE тех версий), чем Edge. Edge не поддерживает множество стандартных функций, таких как RSS или многошаговая перемотка назад / вперед, имеет жалкие средства управления конфиденциальностью без возможности правильно фильтровать файлы cookie или блокировать рекламу и другие трекеры, имеет плохое управление вкладками (хотя MSFT делает вкладку IE управление неуклонно ухудшается, верните Quick Tabs!) и имеет пустой пользовательский интерфейс. CBHacking 9 лет назад 1
-1 Твой ответ ничего не добавляет к моему. kinokijuf 9 лет назад 0
Помимо обновления устаревшего комментария, деталей, предостережений, фактических исполняемых команд и инструкций о том, как отменить изменение, на самом деле это не так. Если вы чувствуете, что заслуживаете отрицательного ответа, у вас есть эта сила. CBHacking 9 лет назад 0
-1
CBHacking

Complicated pseudo-solution on Win10 post-November-update; not really recommended but mostly functional: replace the MSHTML libraries with their EdgeHTML equivalents. This works... about as well as the earlier hack did for the previous build. Dev tools get a little screwed up and drag-and-drop stops working, but otherwise it mostly does the trick. Note that it does not change IE's user-agent string, which means that a lot of sites will still think you're using Trident instead of just testing what HTML/JS features your browser supports.

  1. Close all browser-type programs (this includes things the embed MSHTML, like Skype). It might be best to do this immediately after booting the system, and/or under a different user than usual.
  2. Take ownership of the following files as Administrator: C:\Windows\System32\mshtml.dll, C:\Windows\System32\en-US\mshtml.dll.mui, C:\Windows\SysWOW64\mshtml.dll, C:\Windows\SysWOW64\en-US\mshtml.dll.mui. A command you can use for this, from an elevated command prompt, is takeown /A /F <FILENAME>.
  3. For each of those files, modify the file's permissions so that you can rename the file. An example (slightly overkill) of how to do this from an elevated command prompt is icacls <FILENAME> /grant Administrators:F
  4. For each of those files, rename them to a "backup" name. For example, you might rename C:\Windows\System32\mshtml.dll to C:\Windows\System32\mshtml.dll.bak using the ren command (as Admin).
  5. Create symbolic links with the original file names, but pointing to the EdgeHTML versions of the files. For example, you might use the following command: mklink C:\Windows\System32\mshtml.dll C:\Windows\System32\edgehtml.dll. Note that mklink must be run not only as an Admin but from CMD.EXE; if you are using Powershell, prefix the mklink command with cmd /c, as in cmd /c mklink C:\Windows\System32\mshtml.dll C:\Windows\System32\edgehtml.dll

Rebooting at this point isn't technically needed, but may nonetheless be wise.

Это можно сделать неинвазивным способом, вставив символическую ссылку `Program Files \ Internet Explorer \ mshtml.dll` в` system32 \ edgehtml.dll`, но он все еще не восстанавливает функциональность 10240. В 10240 году был механизм автоматического переключения, который переключался на MSHTML, когда веб-сайт требовал режима совместимости. kinokijuf 8 лет назад 1
Код переключения краев, кажется, живет в `iertutil.dll`, но замена этой версии DLL 10240 не работает… kinokijuf 8 лет назад 0
В сборке 10586 код, кажется, все еще там (строки вроде `EnableLegacyEdgeSwitching` все еще находятся в` iertutil.dll`), но он, кажется, неактивен… kinokijuf 8 лет назад 1
Ах да, хороший вызов по символическим ссылкам из каталога установки IE. И да, в нем отсутствует функция автоматического переключения, и инструменты разработки кажутся более испорченными, чем раньше. Материал работает иначе (я набираю это только из такого гибрида IE / EdgeHTML). Я буду продолжать искать то, что требуется, чтобы восстановить больше функциональности. CBHacking 8 лет назад 0
-2
Vyzantion

Мне удалось создать символическую ссылку на Windows Server 2016 RTM, в которой по умолчанию отсутствует Edge, например Windows 10 Enterprise ltsb. Мне пришлось создать его непосредственно в System32, так как mshtml.dll отсутствует в Program Files / Internet Explorer. Но тестовые страницы движка просмотра показали Internet Explorer 11. Восстановил предыдущую версию файлов и обнаружил, что edgehtml.dll - это фантомная библиотека DLL, на самом деле она переименована в mshtml.dll, так что это номер версии, вместо 11 14. Вот почему веб-страницы так же, как IE. Возможно, именно поэтому вам не удалось включить edgehtml.dll в IE, потому что он, похоже, полностью отсутствует. Если хотите, вы можете проверить версию файла edgehtml.dll в Windows 10 Enterprise ltsb на вкладке «Сведения», если это так.

Этот вопрос задавался во время ** начальных ** версий Insider Preview для Windows 10 (т.е. сборок до 10240). Первоначальный план IE11 в Windows 10 должен был иметь новый режим, названный «Edge Mode», этот план был отменен, и вместо него был разработан Microsoft Edge. ** Абсолютно невозможно ** включить «пограничный режим» в «Windows Server 2016» или «Windows 10 Enterprise LTSB», потому что сам режим находился только на этапах планирования, когда был отменен. * Любые обнаруженные взломы работают по причине, которую я не хочу объяснять в комментарии. * Ramhound 8 лет назад 1