Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перехват нажатия на ссылку в 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 работает только если ссылка открывается в текущем окне. А мне нужно отлавливать ссылки открывающиеся в новых окнах.


Наверх

Титульная страница Поиск, карта сайта Написать письмо