Как скрыть полосы прокрутки и границы окна для элемента управления веб-браузера (IE), отображающего разметку HTML5?

У меня есть диалоговое окно MFC, где я добавил управление веб-браузером (который заключает в капсулу Internet Explorer Engine.) Целью следующего кода является (временно) удалить полосы прокрутки и границы окна из этого элемента управления (чтобы вызвать IViewObject :: Draw.)

Итак, я делаю:

//'m_browser' = is a web browser control of type `CExplorer1`
IDispatch* pHtmlDoc = m_browser.get_Document();

CComPtr<IHTMLDocument2> pHtmlDocument2;
pHtmlDoc->QueryInterface(IID_IHTMLDocument2, (void**)&pHtmlDocument2);

CComPtr<IHTMLElement> pBody;
pHtmlDocument2->get_body(&pBody);

CComPtr<IHTMLStyle> pStyle;
pBody->get_style(&pStyle);

//Remove borders
pStyle->put_borderStyle(CComBSTR("none"));

//Remove scrollbars
pBody->setAttribute(CComBSTR(L"scroll"), CComVariant(L"no"));

Этот подход работает, если я определю HTML, который отображается в веб-элементе управления, как:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

но если я определю это как HTML5:

<!DOCTYPE HTML>

код выше ничего не делает.

Любая идея, что я должен изменить, чтобы он работал с разметкой HTML5?

0

Решение

я читал этот статья, где говорится:

По умолчанию веб-элемент управления браузера постоянно зависает в режиме рендеринга IE 7. Несмотря на то, что сейчас у нас до IE 11 и достаточно HTML5-совместимый браузер, элемент управления Web Browser всегда использует механизм рендеринга IE 7 по умолчанию. Это связано с тем, что в исходных версиях элемента управления ActiveX этот режим использовался, и для обратной совместимости элемент управления продолжает использовать этот устаревший и недружественный к HTML5 вариант по умолчанию.

Обойти это можно добавить

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

в <head> HTML, заставляя использовать новейший механизм рендеринга IE и, таким образом, делая его «совместимым» со страницами HTML5.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector