Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.23;
Скачать: CL | DM;

Вниз

TWebBrowser   Найти похожие ветки 

 
Fiend ©   (2002-09-11 17:02) [0]

Здрасте уважаемые!

Вопрос такой:
как можно определить, текст ссылки, на которой нажал пользователь?

Т.е. мне нужно в событии BeforeNavigate2 (вызывается при навигации) определить, что за текст был виден юзеру.

Например, если тэг HTML выглядел так: <a href=" http://delphi.mastak.ru">Перейти на сайт мастеров Делфи</a>
как получить текст "Перейти на сайт мастеров Делфи"


 
Opuhshii ©   (2002-09-11 17:23) [1]

%) Почитай,.. http://www.compress.ru/Article.asp?id=1127


 
Fiend ©   (2002-09-12 12:42) [2]

Решил опубликовать ответ, дабы следующие за мной по этому пути люди не становились на грабли и не спотыкались.

За помощь огромное спасибо Опухшему!
Виртуальное пиво ему!

Ответ достаточно прост, но для человека, который практически не работал с ОЛЕ (т.е. для меня), это оказался тёмный лес.

procedure TForm1.EmbeddedWB1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
doc:variant;
Link:variant;
i:INteger;
cnt:INteger;
begin
doc:=EmbeddedWB1.Document;
cnt:=doc.links.length-1;
for i:=0 to cnt do begin
if varastype(doc.links.item(i),varString) = varastype(URL,varString) then begin
Link:=doc.links.item(i);
Showmessage(Link.InnerText);
end;
end;

Грубо говоря, в обработчике события OnBeforeNavigate2, которое вызывается, когда TWebBrowser получает новый адрес для навигации, нужно пробежаться по всем ссылкам всё еще активного документа, и сравнить их url, с урлом навигации.

Спасибо всем, кто откликался в чате. Опухшему отдельное СПОС!



Страницы: 1 вся ветка

Текущий архив: 2002.09.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
7-73897
Stanislav SM
2002-07-12 16:22
2002.09.23
Эмуляция движения и нажатия мыши


1-73695
pvasya
2002-09-10 14:30
2002.09.23
Преобразование типа PChar к LPARAM


1-73708
Mars
2002-09-10 10:55
2002.09.23
Как отследить перемещение полосы прокрутки в RichEdit?


3-73480
Morgan3212
2002-08-27 16:13
2002.09.23
БД


6-73787
Alex_LG
2002-07-07 22:48
2002.09.23
Как узнать имеет ли машина