![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват нажатия на ссылку в TWebBrowser [D6, Win2k, WinXP]
Sirus © (2005-09-23 13:24:00)Привет Мастера :))
Есть вопрос: Как перехватить нажатие на ссылку в TWebBrowser, проанализировать URL ссылки и в зависимости от анализа либо пропустить ее дальше, либо отменить нажатие?
OnBeforeNavigate2 работает только если ссылка открывается в новом окне. А мне нужно отлавливать ссылки открывающиеся в других окнах.
Delphi_is_cool (2005-09-26 01:47:00) [1]
> Как перехватить нажатие на ссылку в TWebBrowser, проанализировать
> URL ссылки
Лови мессагу WM_RBUTTONDOWN , и далее:
var
P: TPoint;
Doc: IHTMLDocument2;
Element: IHTMLElement;
begin
P := WebBrowser1.ScreenToClient(Mouse.CursorPos);
Doc := WebBrowser1.ControlInterface.Document as IHTMLDocument2;
Element := Doc.elementFromPoint(P.X, P.Y);
if Element.tagName = 'A' then // проверяем был ли клик по ссылке
MessageBox(0, PChar(Element.toString), 'WB', 0); // показываем url
end;
Если что, прошу прощенья за возможные ошибки/опечатки, я прям тут накатал ...
Sirus (2005-09-23 16:38:00) [2]Переделаем вопрос совсем по другому:
Как получить URL нового открываемого окна и закрыть это окно?
Sirus (2005-09-23 16:21:00) [3]Поправка:OnBeforeNavigate2 работает только если ссылка открывается в текущем окне. А мне нужно отлавливать ссылки открывающиеся в новых окнах.