Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получение выделенного текста из компонента TWebBrowser

Delphi , Интернет и Сети , Браузер

Получение выделенного текста из компонента TWebBrowser

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение выделенного текста из компонента TWebBrowser

Зависимости: OleCtrls, SHDocVw, MSHTML, Variants (для Delphi 6+)
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        30 января 2003 г.
***************************************************** }

function GetBrowserSelection(WB: TWebBrowser): string;
var
  Doc: Variant;
begin
  if WB.Document <> nil then
  begin
    Doc := WB.Document;
    try
      Result := Doc.Selection.createRange.Text
    finally
      Doc := Unassigned;
    end;
  end
  else
    Result := '';
end;

Перевод контента на русский язык:

Функция Delphi, называемая GetBrowserSelection, извлекает выбранное текстовое содержимое из компонента TWebBrowser. Функция принимает объект TWebBrowser в качестве параметра входа и возвращает выбранное текстовое содержимое в виде строки.

Вот шаг за шагом, что код делает:

  1. Сначала функция проверяет, не равно ли свойство Document объекта WB значению nil. Это обеспечивает, что веб-браузер имеет загруженный документ.
  2. Если документ является валидным, то функция присваивает документ локальной переменной Doc с использованием поздней привязки (то есть без явного кастинга его в конкретный тип).
  3. Функция затем пытается извлечь выбранное текстовое содержимое из документа с помощью свойства Selection и метода createRange. Это возвращает объект диапазона, представляющий собой выбранное текстовое содержимое.
  4. Свойство Text объекта диапазона затем присваивается переменной Result, которая будет хранить выбранное текстовое содержимое в виде строки.
  5. Наконец, функция присваивает Unassigned переменной Doc для освобождения памяти, зарезервированной для варианта.

Альтернативным решением является использование интерфейса IHTMLDocument2 и его свойства selection для получения выбранного текстового содержимое. Этот подход более явный и безопасен по типу:

function GetBrowserSelection(WB: TWebBrowser): string;
var
  Doc: IHTMLDocument2;
begin
  if WB.Document <> nil then
  begin
    Doc := WB.Document as IHTMLDocument2;
    try
      Result := Doc.selection.text;
    finally
      Doc := Unassigned;
    end;
  else
    Result := '';
end;

В этом варианте мы явно кастим свойство WB.Document в интерфейс IHTMLDocument2 с помощью ключевого слова as. Это позволяет нам доступиться к его свойству selection и извлечь выбранное текстовое содержимое.

Обратите внимание, что в Delphi 2009 и более поздних версиях можно использовать событие OnBeforeNavigate компонента TWebBrowser, чтобы получить выбранное текстовое содержимое из документа браузера. Этот подход более простой и эффективен:

procedure TForm1.WebBrowser1BeforeNavigate(Sender: TObject; const URL: string;
  var DoDefault: boolean);
begin
  if (URL = 'about:blank') or (URL = '') then
    ShowMessage(WebBrowser1.Document.selection.text);
end;

В этом примере мы обрабатываем событие OnBeforeNavigate и проверяем, является ли навигация в пустую страницу или пустой URL. Если так, то мы отображаем сообщение с выбранным текстовым содержимое из документа браузера с помощью свойства selection.text.

Функция GetBrowserSelection из компонента TWebBrowser позволяет получить выделенный текст из веб-браузера.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-12 16:16:31/0.0038940906524658/0