{ **** 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;
beginif WB.Document <> nilthenbegin
Doc := WB.Document;
try
Result := Doc.Selection.createRange.Text
finally
Doc := Unassigned;
end;
endelse
Result := '';
end;
Перевод контента на русский язык:
Функция Delphi, называемая GetBrowserSelection, извлекает выбранное текстовое содержимое из компонента TWebBrowser. Функция принимает объект TWebBrowser в качестве параметра входа и возвращает выбранное текстовое содержимое в виде строки.
Вот шаг за шагом, что код делает:
Сначала функция проверяет, не равно ли свойство Document объекта WB значению nil. Это обеспечивает, что веб-браузер имеет загруженный документ.
Если документ является валидным, то функция присваивает документ локальной переменной Doc с использованием поздней привязки (то есть без явного кастинга его в конкретный тип).
Функция затем пытается извлечь выбранное текстовое содержимое из документа с помощью свойства Selection и метода createRange. Это возвращает объект диапазона, представляющий собой выбранное текстовое содержимое.
Свойство Text объекта диапазона затем присваивается переменной Result, которая будет хранить выбранное текстовое содержимое в виде строки.
Наконец, функция присваивает Unassigned переменной Doc для освобождения памяти, зарезервированной для варианта.
Альтернативным решением является использование интерфейса IHTMLDocument2 и его свойства selection для получения выбранного текстового содержимое. Этот подход более явный и безопасен по типу:
В этом варианте мы явно кастим свойство WB.Document в интерфейс IHTMLDocument2 с помощью ключевого слова as. Это позволяет нам доступиться к его свойству selection и извлечь выбранное текстовое содержимое.
Обратите внимание, что в Delphi 2009 и более поздних версиях можно использовать событие OnBeforeNavigate компонента TWebBrowser, чтобы получить выбранное текстовое содержимое из документа браузера. Этот подход более простой и эффективен:
В этом примере мы обрабатываем событие OnBeforeNavigate и проверяем, является ли навигация в пустую страницу или пустой URL. Если так, то мы отображаем сообщение с выбранным текстовым содержимое из документа браузера с помощью свойства selection.text.
Функция GetBrowserSelection из компонента TWebBrowser позволяет получить выделенный текст из веб-браузера.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.