Включение / выключение режима совместимости IE8 с управлением WebBrowser - PullRequest
5 голосов
/ 13 января 2010

У меня проблема совместимости с IE8 при использовании элемента управления WebBrowser для перехода на веб-сайт. Странно то, что иногда сайт работает, но, скорее всего, это не так. Я могу обновить страницу иногда, и это работает также.

При переходе на страницу в IE8 у меня возникли те же проблемы с рендерингом CSS, поэтому я переключился в режим совместимости, и он обновлялся и корректно отображался.

Есть ли способ имитировать этот эффект для элемента управления WebBrowser. Я хочу, чтобы можно было нажимать кнопку и выключать и включать режимы, как в Internet Explorer.

Возможно ли это? Если это так, кто-нибудь знает, как?

Спасибо

Ответы [ 3 ]

4 голосов
/ 13 января 2010

Я знаю, что ответ на запись в реестре опубликован, поэтому я решил предложить альтернативу.

Владеете ли вы сайтом и имеете разрешения для сервера, на котором он работает? Если это так, вы можете установить заголовок X-UA-Compatible, который будет отправляться для каждой страницы на сайте / сервере. См. http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#Servers для получения информации и ссылок для Apache / IIS7.

4 голосов
/ 13 января 2010

Будет ли этот пост в IEBlog о режимах рендеринга в WebBrowser и IE8? Похоже, вы должны установить режим рендеринга, специфичный для вашего приложения, используя ключ в реестре.

0 голосов
/ 31 мая 2012

Вы можете включить режим рендеринга для встроенного WebBrowser внутри приложения, используя «Internet Feature Controls» в ключах реестра IE:

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     YouApp.exe = (DWORD) 00000000 (see value below)
  • Значение 9999 (0x270F)
    Windows Internet Explorer 9. Веб-страницы отображаются в режиме стандартов IE9 независимо от директивы! DOCTYPE.

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

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

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

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

+ 1, если вы найдете значение, чтобы всегда запускать WebBrowser в текущей установленной версии.

Источник: http://msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation

...