Что такое версия браузера элемента управления WebBrowser в Windows Forms - PullRequest
9 голосов
/ 15 июня 2010

Я создаю приложение Windows Forms, которое использует элемент управления WebBrowser.Может кто-нибудь сказать мне, какой механизм рендеринга использует элемент управления?

Исправлено ли это в зависимости от версии платформы .NET, против которой я работаю, или от версии IE, установленной на компьютере клиента?Нужен ли клиенту IE?

Другими словами, если веб-сайт выглядит правильно в моем приложении на моем компьютере, достаточно ли безопасно предположить, что он будет отображаться прямо на компьютере остальных?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 15 июня 2010

Это будет версия IE, установленная на целевой машине. Может быть только один, IE не поддерживает параллельную установку версий. Вы точно не знаете, что ваше приложение будет работать без проблем, если только вы не протестируете его на разных компьютерах с установленными версиями 6, 7 и 8. Обычно это бремя автора веб-сайта.

0 голосов
/ 01 мая 2017

Вы должны установить ключ реестра, в противном случае webBrowser будет отображаться как IE4

Смотрите здесь: http://www.west -wind.com / блог / сообщений / 2011 / Май / 21 / Web-браузер-Control-Указание-The-IE-версия

Расположение ключа реестра для эмуляции FEATURE_BROWSER Вы можете указать эти ключи в реестре по адресу:

HKEY_CURRENT_USER \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION Ключ HKCU - лучшее место для установки этих значений, потому что есть один ключ, и его можно установить без прав администратора, но вы также можете установить эти ключи на уровне компьютера в HKLM:

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION или для 32-битного приложения на 64-битной машине:

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ WOW6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION

Имя ключа Ключевое имя - это имя EXE вашего приложения, например:

outlook.exe MarkdownMonster.exe

Значение

Значение указывает версию IE следующим образом:

Значение для установки этого ключа (взято из MSDN здесь) в виде десятичных значений:

11001 (0x2AF9) Internet Explorer 11. Веб-страницы отображаются в режиме стандартов IE11 независимо от директивы! DOCTYPE.

11000 (0x2AF8) Internet Explorer 11. Веб-страницы, содержащие основанные на стандартах директивы! DOCTYPE, отображаются в режиме IE9.

10001 (0x2AF7) Internet Explorer 10. Веб-страницы отображаются в режиме стандартов IE10 независимо от директивы! DOCTYPE.

10000 (0x2710) Internet Explorer 10. Веб-страницы, содержащие основанные на стандартах директивы! DOCTYPE, отображаются в режиме IE9.

9999 (0x270F) Internet Explorer 9. Веб-страницы отображаются в режиме стандартов IE9 независимо от директивы! DOCTYPE.

9000 (0x2328) Internet Explorer 9. Веб-страницы, содержащие основанные на стандартах директивы! DOCTYPE, отображаются в режиме IE9.

8888 (0x22B8) Веб-страницы отображаются в режиме стандартов IE8 независимо от директивы! DOCTYPE.

8000 (0x1F40) Веб-страницы, содержащие основанные на стандартах директивы! DOCTYPE, отображаются в режиме IE8.

7000 (0x1B58) Веб-страницы, содержащие основанные на стандартах директивы! DOCTYPE, отображаются в режиме стандартов IE7. Этот режим бессмыслен, так как по умолчанию.

Установка этих ключей позволяет вашим приложениям легко использовать последние версии Internet Explorer на вашем компьютере. К сожалению, похоже, нет ключа, который говорит, что используйте последнюю установленную версию - к сожалению, вы должны быть конкретны в отношении версии. Учитывая, что Windows 7 и более поздние версии могут запускать IE 11, я требую, чтобы пользователи имели IE 11, если я хочу использовать HTML5 и более продвинутые функции CSS, такие как Flexbox, но если ваш контент проще, вы, вероятно, можете избежать использования IE 10 даже IE 9.

...