Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-73608
Fiend
2002-09-11 17:02
2002.09.23
TWebBrowser


1-73590
savrick
2002-09-12 02:39
2002.09.23
Как обновить рабочий стол?


3-73537
Viacheslav
2002-09-03 09:02
2002.09.23
Добавление записи в таблицу.


6-73781
chsv
2002-07-17 19:25
2002.09.23
вопрос про модем


1-73748
Андрусь
2002-09-11 18:12
2002.09.23
такой вот немного детский вопрос




   Наверх