MrT33 Ответов: 3

Использование edgehtml вместо MSHTML


Мы разработали настольное приложение для редактирования HTML/XSL Windows, написанное на C++ с использованием технологий MFC/ATL/COM, в значительной степени опираясь на интерфейсы IHTML* COM MSHTML, такие как IHTMLElementPtr, IHTMLDocumentPtr, IWebBrowser2 и т. д., что облегчает конечному пользователю создание веб-сайта.

Теперь мы рассматриваем возможность использования EdgeHTML вместо MSHTML в нашем приложении. Я искал примеры того, как создать простое приложение для редактирования с помощью EdgeHTML, написанного на C++, чтобы начать с выяснения того, что нужно и как EdgeHTML работает в качестве HTML-редактора. Мне не удалось найти ничего полезного, то есть полный образец приложения.

Мы должны использовать C++ в качестве языка программирования.

Может ли кто-нибудь помочь нам в том, как начать работу, то есть объяснить, предоставить или предложить, где я могу найти пригодный для использования, функционирующий образец приложения, как описано выше?

Все, что нам нужно, - это что-то, с чего можно начать.

Заранее спасибо

Что я уже пробовал:

Google поискал html - редактор edgehtml, но ничего полезного не нашел... пока

Arthur V. Ratz

И еще один вопрос: зачем вам на самом деле нужен html для браузера Microsoft Edge? Есть ли какая-то разница между IE html и Edge html, поскольку они оба разработаны Microsoft ??

MrT33

Мы хотим воспользоваться преимуществами стандартов HTML5 и сделать их доступными для наших пользователей. MSHTML, встроенный в приложение, не делает этого по умолчанию. Изменения, необходимые для того, чтобы заставить MSHTML поддерживать стандарты HTML5, довольно велики из-за оригинального дизайна много лет назад, глубоко встроенного в продукт.

Мы надеемся, что переход на EdgeHTML сделает доступными стандарты HTML5, но сначала нам нужно их протестировать.

Мы не можем переписать приложение с нуля. Нам нужно заменить MSHTML на EdgeHTML в существующем приложении. И да, мы знаем, что EdgeHTML поддерживается только в Windows 10, и нам нужно будет продолжать использовать MSHTML в предыдущей версии Windows.

Arthur V. Ratz

+5. Хороший комментарий. Очень ясный.

MrT33

Спасибо :)

Arthur V. Ratz

Я не уверен, но мне кажется, что вы должны использовать Windows 10 SDK, чтобы иметь возможность использовать EdgeHTML.

MrT33

Одним из возможных решений мы думаем о том, чтобы поддерживать и библиотеку MSHTML (по предварительной Победы 10) и EdgeHTML (для Win 10) является реализация API интерфейс для всех библиотеку MSHTML com в DLL-библиотеки C++ (которые мы отправляем на предварительно выиграть 10), и реализовать эквивалент для EdgeHTML в другой DLL (которые мы отправляем на Win 10). Затем приложение загрузит DLL, соответствующую операционной системе, на которой оно работает.

Проблема, с которой мы сталкиваемся, заключается в том, чтобы начать работу с EdgeHTML, то есть встроить его в приложение в качестве HTML-редактора и найти документацию для интерфейса, эквивалентного тому, что предлагает COM-интерфейс MSHTML.

В настоящее время мы используем Microsoft Visual Studio 2013 для всего нашего пакета программ.

Существует также опасение, что MSHTML однажды исчезнет из Windows 10.

MrT33

Итак, есть ли у EdgeHTML COM-интерфейс, подобный MSHTML, доступный из C++?

3 Ответов

Рейтинг:
2

Arthur V. Ratz

Просто попробуйте использовать последнюю версию Microsoft Visual Studio 2015 для Windows 10 и поддержку браузера Microsoft Edge. Вы также можете скачать и попробовать Embarcadero RAD Studio 10 Seattle, которая полностью поддерживает функции разработки Windows 10.


Рейтинг:
2

Serkan Onat

Я не думаю, что вы можете разместить пограничный экземпляр в своем приложении
Это не даст вам ничего полезного ,даже если вы сможете

Если вам нужна некоторая поддержка HTML5, то вы можете использовать КБФ[^] BSD-лицензия

Я не уверен, что у CEF есть встроенная поддержка редактирования ,
но вы можете реализовать конструктор на основе javascript , если встроенная поддержка не существует, как и онлайн-дизайнеры макетов


Рейтинг:
2

Snuff Daddy

Поместите этот мета-тег в "голову" вашего html-кода;:

<meta http-equiv="X-UA-совместимый" контент="IE=edge">

Вот и все. При редактировании ничего не изменится, потому что у edge нет редактора. Но, по крайней мере, он будет правильно отображать HTML5.