3

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

4 ответа4

3

В about:flags была опция для этого : флаги , но этот интерфейс некорректно сломан, так как IIRC build 10130 и все еще не работает в RTM по состоянию на 24 июля.

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

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"DisableRandomFlighting"=dword:00000001
"EnableLegacyEdgeSwitching"=dword:00000001

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

0

Кажется, нет никакого способа (начиная со сборки 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, это знание будет высоко ценится!

-1

Сложное псевдо-решение на Win10 после ноябрьского обновления; не очень рекомендуется, но в основном функционально: замените библиотеки MSHTML их эквивалентами EdgeHTML. Это работает ... так же, как и предыдущий хак для предыдущей сборки. Инструменты разработчика немного облажаются, и перетаскивание перестает работать, но в остальном это в основном помогает. Обратите внимание, что это не меняет строку пользовательского агента IE, а это означает, что многие сайты по-прежнему будут думать, что вы используете Trident, вместо того, чтобы просто проверять, какие функции HTML/JS поддерживает ваш браузер.

  1. Закройте все программы браузерного типа (в том числе такие вещи, как встраивать MSHTML, такие как Skype). Лучше сделать это сразу после загрузки системы и / или под другим пользователем, чем обычно.
  2. Примите в качестве администратора следующие файлы: 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 . Команда, которую вы можете использовать для этого из командной строки с повышенными привилегиями, называется takeown /A /F <FILENAME> .
  3. Для каждого из этих файлов измените права доступа к файлу, чтобы вы могли переименовать файл. Примером (слегка излишним) того, как это сделать из командной строки с повышенными привилегиями, является icacls <FILENAME> /grant Administrators:F
  4. Для каждого из этих файлов переименуйте их в "резервное" имя. Например, вы можете переименовать C:\Windows\System32\mshtml.dll в C:\Windows\System32\mshtml.dll.bak с помощью команды ren (от имени администратора).
  5. Создайте символические ссылки с исходными именами файлов, но указав на версии файлов EdgeHTML. Например, вы можете использовать следующую команду: mklink C:\Windows\System32\mshtml.dll C:\Windows\System32\edgehtml.dll . Обратите внимание, что mklink должен запускаться не только как администратор, но и из CMD.EXE ; если вы используете Powershell, добавьте префикс mklink к команде cmd /c , как в cmd /c mklink C:\Windows\System32\mshtml.dll C:\Windows\System32\edgehtml.dll

Перезагрузка на этом этапе технически не требуется, но, тем не менее, может быть разумной.

-2

Мне удалось создать символическую ссылку на 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 на вкладке «Сведения», если это так.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .