Элемент управления MSIEs WebBrowser, размещенный в приложении winforms, работает в режиме совместимости

Я принимаю MSIE в форме winforms. К сожалению, он настаивает на том, чтобы работать в режиме совместимости, независимо от того, если я дам ему страницу, которая работает в режиме IE8 в автономном IE. Результатом этого является то, что некоторый контент, который корректно отображается в автономном MSIE, полностью выровнен и испорчен в размещенном элементе управления.

Помимо типа документа и т. Д., Есть какой-то волшебный способ сообщить веб-браузеру, что я хочу отобразить страницу так же, как если бы я загружал ее в автономном MSIE?

Я не хочу использовать переопределение ключа реестра ( http://blogs.msdn.com/b/ie/ archive / 2009/03/10 / more-ie8-extensibility-улучшений.aspx ) из-за того, что моя форма является частью надстройки для другого приложения. Я не хочу менять поведение IE для основного приложения и не хочу менять его для других надстроек, работающих под этим приложением. Я хочу, чтобы это работало только в браузере, размещенном в моей форме , а не во всем приложении и не во всем процессе.

9
задан KristoferA 24 August 2010 в 08:27
поделиться

2 ответа

Я не проверял это, но как насчет использования тега META вместе с атрибутом HTTP-EQUIV для установки X-UA-COMPATIBLE ] значение IE=8, которое указывает веб-браузеру отображать страницу в стандартном режиме IE 8. Примером может быть:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Из этой строки в следующей статье кажется, что это должно работать.

По умолчанию приложения, размещающие Управление через веб-браузер открыто страницы на основе стандартов в режиме IE7 если на странице нет соответствующий X-UA-совместимый заголовок. Вы можете изменить это, добавив имя исполняемого файла приложения для функция FEATURE_BROWSER_EMULATION клавиша управления и установка значения соответственно.

10
ответ дан 4 December 2019 в 15:10
поделиться

Чтобы изменить поведение по умолчанию элемента управления веб-браузером, работающего в вашем приложении, чтобы оно соответствовало тому, что делает сам IE, вы должны установить ключ управления функциями FEATURE_BROWSER_EMULATION.

Например, вы можете имитировать поведение IE8 (позволяя сайтам отображаться в стандартном режиме IE8) следующим образом.

Внутри HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl

Создайте новый ключ с именем FEATURE_BROWSER_EMULATION

Внутри этого ключа добавьте новый REG_DWORD со значением 8000 с именем исполняемого файла вашего приложения. Например:

"YourApp.exe" = dword 8000 (Hex: 0x1F40)

Более подробная информация находится по адресу: http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx

3
ответ дан 4 December 2019 в 15:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: