![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WebBrowser.OnNewWindow [D6, Win95/98, WinME, NT4, Win2k, WinXP]
Kosmach © (2004-07-04 11:36:00)Помогите пожалуйста!
С помощью события OnNewWindow можно отловить открытие нового окна WebBrowser'а, можно его запретить и т.д.
Но можно ли как-нибудь узнать запрашиваемый URL, который должен был открыться, или будет открыт, в новом окне???
Очень нужно!
Kosmach (2004-07-16 20:20:00) [1]Спасибо огромное!!! Я уже давно отчаялся и даже не заглядывал сюда! только щас заметил ваш ответ! просто супер! самый простой и самый понятный (во всяком случае мне) способ! Мне на http://www.delphikingdom.ruмного чего советывали, но я их идеи так до конца и не развил! они мне советовали в MSHTML_TLB капаться, но мне это оказалось не по силам! Даже стыдно, что сам не додумался до второго броузера!
Спасибо!!!
Сергей2004 (2004-07-06 11:27:00) [2]Попробуй сделать так:
Создай второй (скрытый, например) WebBrowser. В событии OnNewWindow первого WebBrowser'а (у которого ты хочешь узнать URL нового окна):
, а в событии WebBrowser2 - OnBeforeNavigate2 узнаешь URL и запрещаешь грузиться дальше...
ppDisp:=WebBrowser2.Application;
Landgraph (2004-07-05 16:27:00) [3]Через этот параметр, если я не ошибаюсь, передается управление:
...Обработчик OnNewWindow...
var Form1: TForm1;
begin
Form1:=TForm1.Create(self);
ppDisp:=Form1.WebBrowser1.Application;
Kosmach (2004-07-05 16:04:00) [4]Такого события нет... есть OnBeforNavigate2, там есть URL, но оно рабатывает, только если документ открывается в этом же окне, а если требуется открыть его в новом (<a href="" target="new">, например), то срабатывает только OnNewWindow2, но там никакого URL нет... есть ли возможность его узнать?
А для чего нужен параметр ppDisp: IDispatch;? может через него?
RagE (2004-07-05 15:18:00) [5]OnDocumentOpen или как-то так. Не помню уже но есть событие перед открытием с возвращаемым URL