Создаем web browser в Lazarus (fpCEF3)

logo_chromiumПриветствую тебя читатель. Наверное каждый кто начал разрабатывать приложения в Lazarus, заметил что в нем отсутствует компонент для создания браузера, некий аналог TWebBrowser как в Delphi.

Для создания нашего браузера мы будем использовать движок Chromium, на нем работает один из популярных браузеров Google Chrome. Это не единственный движок который мы можем использовать в Lazarus, но ниже речь пойдет именно о нем.

И так приступим. Для начала скачайте последнюю версию пакета расширений на офф. сайте: https://github.com/dliw/fpCEF3/releases

Если у вас Windows то скачиваем Source code5

Распаковываем архив в папку components где установлен Lazarus, и устанавливаем данный пакет расширений.

1

1

2

Компилируем пакет, после чего устанавливаем.

3

Lazarus перезапускается и после этого у нас панели инструментов появляется Chromium

6

Теперь создание браузера не займет у нас и 5-ти минут. Итак начнем:

Создаем новый проект и добавляем на форму TEdit оба компонента с вкладки Chromium

7

Теперь добавим немного кода:

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

8

добавим следующий код:

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

9

добавить след. код:

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 под вашу ОС

10

После чего из скаченного архива файлы, закинуть в папку с нашим проектом.

11

Готово. Компилируем проект и получаем готовые браузер на Lazarus. Единственный минус как вы понимаете для каждой ОС требуются свои библиотеки.

4

Создаем web browser в Lazarus (fpCEF3) обновлено: 22 апреля, 2016 автором: Oleg E.
Share

12 комментариев “Создаем web browser в Lazarus (fpCEF3)

  1. Приветствую smile Не мог бы помочь в правильном запуске этого компонента? Просто уже много времени всё никак не получается его запустить нормально((( постоянно Lazarus на что-то жалуется. Пожалуйста, напиши на электронку, просто тема очень интересная для меня, а нужных знаний не хватает sad

  2. В стандартном браузере Google Chrom видео идёт нормально, в браузере Lazarus на ядре Chrom видео не идёт. Как можно решить проблему?

  3. Но все равно, Lazarus как ни крути меня выкидывает в ассемблерную отладку .. Mov ax, bx .. и погнали.. ))

  4. Доброго времени суток. Проблема в том, что fpCEF3 устарел и не все сайты с ним корректно работают. Кто-нибудь пробовал создавать браузер на основе CEF4Delphi, который устанавливается в Lazarus 2.0.10?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *