В данной статье мы рассмотрим, как создать историю в браузере на Delphi. Мы научимся сохранять историю посещенных страниц, а также производить навигацию по ней.
Статья:
История в браузере – это очень важный элемент удобства использования. Пользователь может легко вернуться к предыдущей странице, просмотреть историю своих действий, а также перейти к странице, которую он посещал ранее. Приложения на Delphi позволяют создавать собственные браузеры, которые могут включать в себя историю посещений. В этой статье мы рассмотрим, как это сделать.
Создание истории в браузере
Для начала создадим объект TWebBrowser, который будет отображать веб-страницы. Это можно сделать в редакторе форм, добавив компонент TWebBrowser из палитры элементов.
Определим 2 события для отслеживания навигации пользователя:
— OnNavigateComplete: возникает после успешного завершения навигации пользователя.
— OnBeforeNavigate2: возникает перед навигацией пользователя.
Оба события будут использованы для создания истории посещенных страниц.
Каждый раз, когда пользователь переходит на новую страницу, мы можем добавить ее в список истории:
«`
procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
HistoryList.Add(WebBrowser1.LocationURL);
NavigateButton.Enabled := True;
BackButton.Enabled := True;
end;
«`
В приведенном выше коде мы использовали объект TStrings для хранения списка посещенных URL-адресов. Этот список нужно объявить в области объявления типа TForm1. Например:
«`
type
TForm1 = class(TForm)
…
private
HistoryList: TStrings;
end;
«`
Также мы включили кнопки Назад и Вперед для перемещения по истории.
Навигация по истории
Как только список истории заполнен, мы можем реализовать перемещение по нему:
«`
procedure TForm1.BackButtonClick(Sender: TObject);
var
Url: string;
begin
if HistoryList.Count > 0 then
begin
Url := HistoryList.Strings|HistoryList.Count-1|;
HistoryList.Delete(HistoryList.Count-1);
WebBrowser1.Navigate(Url)
end;
end;
procedure TForm1.NavigateButtonClick(Sender: TObject);
begin
WebBrowser1.Navigate(AddressEdit.Text);
end;
«`
Код кнопки Назад удаляет последний элемент из списка и переходит на страницу, на которую ссылается этот элемент. Код кнопки Вперед работает аналогично, только вместо удаления последнего элемента, он удаляет первый и переходит на страницу по ссылке, которая следует за удаленной.
Заключение
Теперь мы знаем, как создать историю в своем браузере на Delphi. Мы можем сохранять посещенные страницы и перемещаться по ним с помощью кнопок Назад и Вперед. С помощью этого кода вы можете легко создать собственный, настраиваемый и удобный браузер для пользователей.