29 мая 2020

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

    В 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 контрол). Запускам исполняемый файл и наслаждаемся встроенным в наше приложение браузером.


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


06 января 2021. Дополнение.

8 комментариев:

  1. Анонимный31 мая, 2020 01:48

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

    ОтветитьУдалить
  2. Анонимный31 мая, 2020 02:02

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

    ОтветитьУдалить
  3. Анонимный10 ноября, 2020 10:44

    Привет. Как вызвать JS в этом браузере?

    ОтветитьУдалить
  4. Установить и запустить его удалось, только непонятно как с ним работать. Раньше обратиться к любой части документа можно было через document а в этом компоненте как теперь?

    ОтветитьУдалить
  5. Внимание! WebView2 версии 0.9 "не видит" релиза Edge, работает только с beta-canary

    ОтветитьУдалить
    Ответы
    1. ну это же и описано в мануале по установке. Что надо только canary ставить

      Удалить
  6. а куда это распаковывать? Нужно в delphi указывать путь к этому?
    устанавливать что-то нужно?

    ОтветитьУдалить
  7. Анонимный05 января, 2021 21:23

    Пробовал разные версии WebView - ничего не работает :(

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