Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.01 c
1-73627
Консул
2002-09-12 14:48
2002.09.23
Tray


7-73908
nick_serg
2002-07-15 00:18
2002.09.23
vs restarts


1-73709
Alex_Che
2002-09-11 11:34
2002.09.23
Звук


1-73694
Igel
2002-09-09 09:54
2002.09.23
Как определить hWnd моего приложения, если


4-73931
TiredDmitry
2002-08-05 00:50
2002.09.23
Как ОТЖАТЬ клавишу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский