Как программно отключить режим совместимости в IE8 управления WebBrowser?
Я хочу использовать IE8 в качестве элемента управления WebBrowser в приложении c#. Как я могу отключить "режим причуд" и заставить IE соответствовать стандартам (насколько это реализовано)?
5 ответов
Я думаю, что проблема, с которой вы столкнулись, описанных в IEBlog: режимы рендеринга управления WebBrowser в IE8:
В то время как веб-мастера могут легко изменить их сайт правильно отображался в новая версия IE, много программного обеспечения у поставщиков нет ресурсов для мгновенно выталкивать новые версии их приложения с обновленным внутренняя страница. Для обеспечения того, чтобы эти существующие приложения остаются в рабочем состоянии, IE8 отображает страницы работает в экземпляров элемента управления WebBrowser в Режим стандартов IE7 по умолчанию.
здесь я должен отметить, что комментарии на странице говорят, что выше неверно, и что "IE8 отображает страницы, запущенные в экземплярах элемента управления WebBrowser в строгом режиме IE7 или режиме причуд по умолчанию, в зависимости от типа документа страницы."
решение выглядит следующим образом:
когда исполняемый файл загружает экземпляр из Управление WebBrowser оно сканирует реестр для проверки исполняемый файл хочет стандарты IE7 или IE8 Стандартный режим.
...
для работы в режиме стандартов IE8 вставьте следующее значение реестра:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]
"MyApplication.exe"=dword:13880
в обоих случаях, Мое_приложение.exe должны быть заменены с именем исполняемого файла, будет работать элемент управления WebBrowser в указанный режим.
таким образом, похоже, что "программное" решение-написать ключ в реестре, говоря, что вы хотите режим стандартов IE8 для WebBrowser
элементы управления в вашем конкретном приложении.
Если вы не хотите использовать метод раздела реестра, вы можете вставить следующий тег:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
атрибут "content"заставляет рендеринг в различных режимах.
последнее, что я слышал, было то, что IE8 будет использовать стандартный режим по умолчанию. Вы видите реальную проблему с последней бета-версии? Вы уверены, что это рендеринг в режиме причуд, чтобы начать с, без явного нажатия пользователем режим совместимости на кнопку?
обратите внимание, что после бета-версии произошли некоторые изменения, разделы реестра были переименованы и т. д. подробнее здесь.