Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

Перехват нажатой ссылки в tWebBrowser   Найти похожие ветки 

 
iFot   (2003-05-09 08:22) [0]

Имеется форма - на ней есть компонент WebBrowser1. Нужно, чтобы по нажатии на ссылку, которая вызывает новое окно эта ссылка перехватывалась и передавалась в кач-ве параметра другому приложению(что-то вроде: extwindow.exe http://link.ru/page.htm). Параметры обрабатывать получается, но как перехватывать ссылки и передавать их в кач-ве этого самого параметра имею весьма приблизительное представление. Помогите, если кто знает.


 
iFot   (2003-05-09 17:13) [1]

Так, ссылку ловить научился.

var url:IHTMLDOCUMENT2;
begin
Url:=IHTMLDocument2(ppDisp);
Form2.Visible:=True;
Form2.WebBrowser1.Navigate(url);
end;

Пока тренируюсь на кошках - передаю ссылку другой форме, но выдаёт ошибку:
There is no overloaded version of Navigate that can be called with these arguments.
Думаю, дело в типе переменной url - она типа iHTMLDocument2, а WebBrowser1.Navigate требует String.
F1, как эту проблему решить?


 
nikkie   (2003-05-09 18:39) [2]

то, что код сам пытаешься писать - молодец. а то есть тут тинейджеры...

код, конечно, неправильный, и не очень понятно, где ты его пишешь... то, что ты хочешь, делается в событии OnBeforeNavigate2.


 
iFot   (2003-05-09 18:52) [3]

Код пишу в OnNewWindow2. Насколько я понял, надо делать обработчик на BeforeNavigate2, там ловить ссылку и передавать её форме?


 
nikkie   (2003-05-09 18:54) [4]

правильно понимаешь. а еще надо браузеру сказать, чтобы на переходил сам по ссылке. посмотри параметры события - все понятно будет.


 
iFot   (2003-05-09 21:09) [5]

Извини за тупые вопросы, но после второй бессонной ночи я оч. плохо соображаю - параметры события это что?


 
nikkie   (2003-05-09 21:18) [6]

обработчик события - метод формы. у него есть параметры.


 
iFot   (2003-05-09 21:44) [7]

Например?


 
iFot   (2003-05-10 06:54) [8]

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

если ссылка_открывает_новое_окно то
WebBrowser1.Stop; //(1)
Form2.Visible:=true;
Form2.WebBrowser1.Navigate(эта_ссылка);

Непонятно несколько моментов: строчка (1) обязательно должна быть; является ли Url (var url:OleVriant) той самой ссылкой?; и последний момент - как определить открывает ли ссылка новое окно?


 
nikkie   (2003-05-11 23:58) [9]

1. Я не проверял, будет ли работать строчка (1). Более логично написать Cancel := True;

2. Является ли Url (var url:OleVriant) той самой ссылкой? - Да.

3. Как определить открывает ли ссылка новое окно? - Для этого надо все-таки обработать OnNewWindow. Там надо написать ppDisp := Form2.WebBrowser.DefaultInterface; - это заставит WebBrowser не открывать новое окно IE, а использовать (другой) WebBrowser из твоей программы. Если далее тебе надо вызвать другую программу и передать ей ссылку, то надо обработать OnBeforeNavigate у Form2.WebBrowser.


 
Den_IS01   (2003-05-12 09:06) [10]

А скажем такая задачка - есть фреймовая страничка. В одном из фреймов есть ссылка, как тупо по ней перейти (без клика)...
И еще - где храняться (и можно ли их исправить) данные - с какой ссылки пришел на сайт, тип ОС, разрешение экрана...


 
iFot   (2003-05-12 16:40) [11]

Большое спасибо



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

Форум: "Сети";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
14-55711
_0$a_
2003-06-28 00:10
2003.07.17
APi функции для програмирования сокетов


14-55823
hawkins
2003-07-01 10:22
2003.07.17
прерывание VideoBIOS


11-55483
Anatoly P
2002-11-08 19:52
2003.07.17
TreeView и AddChildObject


14-55760
Vika
2003-07-03 09:36
2003.07.17
DBGrid с возможностью выделения строки, как в Excel


1-55528
Mishenka
2003-07-02 23:46
2003.07.17
Где у Application указывать события?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский