29 мая 2020

Встраиваем Microsoft Edge Embedded Browser

    В RAD Studio 10.4 разработчики добавили новый контрол - TEdgeBrowser (можете не кликать, т.к. документация по TEdgeBrowser еще не готова), который предназначен для встраивания в приложение браузера Microsoft Edge на основе Chromium. Этот контрол и альтернатива, и дополнение старого контрола TWebBrowser. Давайте посмотрим, как им пользоваться.
    Для начала скачиваем и устанавливаем браузер Microsoft Edge на основе Chromium. Затем скачиваем Microsoft.Web.WebView2 контрол. Он нам необходим, так как TEdgeBrowser является всего лишь его оберткой. WebView2 контрол можно скачать через GetIt package manager. Для тех, у кого нет доступа к ресурсам GetIt package manager, WebView2 можно скачать напрямую от разработчиков. TEdgeBrowser работает не только с WebView2 версии 0.9.488, которая раздается через GetIt, но и с 0.9.515-prerelease (остальные не пробовал).
    Подготовительные работы окончены. Теперь создаем в Delphi новое VCL-приложение, на главную форму которого помещаем TEdgeBrowser. В дополнение к нему я еще положил TEdit и сделал у него обработчик на OnKeyPress, в котором по нажатию на клавишу Enter в нашем браузере открывается ссылка введенная в TEdit:
procedure TMain.edURLKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    EdgeBrowser.Navigate(edURL.Text);
end;
Компилируем проект и в каталог с полученным исполняемым файлом копируем скаченную ранее WebView2Loader.dll (тот самый WebView2 контрол). Запускам исполняемый файл и наслаждаемся встроенным в наше приложение браузером.


Теперь вы готовы к написанию своего Яндекс.Браузер'а!

2 комментария:

  1. с https://www.nuget.org/packages/Microsoft.Web.WebView2 скачиваются только nupkg. как распаковать microsoft.web.webview2.0.9.515-prerelease.nupkg?

    ОтветитьУдалить
  2. вопрос снят. оказалось, что тотал коммандер понимает "nupkg" как архив. потверждаю - TEdgeBrowser работает с 0.9.515-prerelease

    ОтветитьУдалить