Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c