Приветствую тебя читатель. Наверное каждый кто начал разрабатывать приложения в Lazarus, заметил что в нем отсутствует компонент для создания браузера, некий аналог TWebBrowser как в Delphi.
Для создания нашего браузера мы будем использовать движок Chromium, на нем работает один из популярных браузеров Google Chrome. Это не единственный движок который мы можем использовать в Lazarus, но ниже речь пойдет именно о нем.
И так приступим. Для начала скачайте последнюю версию пакета расширений на офф. сайте: https://github.com/dliw/fpCEF3/releases
Если у вас Windows то скачиваем Source code
Распаковываем архив в папку components где установлен Lazarus, и устанавливаем данный пакет расширений.
Компилируем пакет, после чего устанавливаем.
Lazarus перезапускается и после этого у нас панели инструментов появляется Chromium
Теперь создание браузера не займет у нас и 5-ти минут. Итак начнем:
Создаем новый проект и добавляем на форму TEdit оба компонента с вкладки Chromium
Теперь добавим немного кода:
uses ... cef3types, cef3lib, cef3intf, cef3gui;
procedure TForm1.FormCreate(Sender: TObject); var Path: ustring; begin Path := UTF8Decode(ExtractFilePath(ParamStr(0))); CefResourcesDirPath:=Path+'Resources'; CefLocalesDirPath:=Path+'Resources\locales'; end;
На TEdit на событие OnKeyDown
добавим следующий код:
procedure TForm1.EditURLKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=13 then Chromium1.Load(UTF8Decode(editURL.Text)); end;
Тем самым при нажатии по клавиши Enter откроем введенный сайт.
И для того чтобы при серфингу по сайту, ссылка в TEdit обновлялась, нужно на событии Chromium OnLoadEnd
добавить след. код:
procedure TForm1.Chromium1LoadEnd(Sender: TObject; const Browser: ICefBrowser; const Frame: ICefFrame; httpStatusCode: Integer); begin editURL.Text:=UTF8Encode(Browser.MainFrame.Url); end;
Теперь для запуска проекта нужно скачать на сайте https://www.cefbuilds.com/ Test App под вашу ОС
После чего из скаченного архива файлы, закинуть в папку с нашим проектом.
Готово. Компилируем проект и получаем готовые браузер на Lazarus. Единственный минус как вы понимаете для каждой ОС требуются свои библиотеки.
Приветствую Не мог бы помочь в правильном запуске этого компонента? Просто уже много времени всё никак не получается его запустить нормально((( постоянно Lazarus на что-то жалуется. Пожалуйста, напиши на электронку, просто тема очень интересная для меня, а нужных знаний не хватает
Написал.
flash в окне не показывает. Это можно настроить?
Добрый день, попробуйте покапать в сторону pepperflash plugin
Сайт https://www.cefbuilds.com/ не работает.
Где еще можна скачать test app?
В стандартном браузере Google Chrom видео идёт нормально, в браузере Lazarus на ядре Chrom видео не идёт. Как можно решить проблему?
Там отсутствуют кодеки (fpCEF3). Надо пересобирать.
https://www.cefbuilds.com/ — не работает.. это что само ядро Хромиума ? где его брать ?
Наверное тут теперь: https://chromium.woolyss.com/
Но все равно, Lazarus как ни крути меня выкидывает в ассемблерную отладку .. Mov ax, bx .. и погнали.. ))
Доброго времени суток. Проблема в том, что fpCEF3 устарел и не все сайты с ним корректно работают. Кто-нибудь пробовал создавать браузер на основе CEF4Delphi, который устанавливается в Lazarus 2.0.10?
fpCEF3 больше не обновляется. Используйте CEF4Delphi