![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() подскажите пожалуйста,как реализовать такое.есть страница в которой при нажатии на ссылку через WebBrowser , ссылка открывается не в этом компоненте,а в стандартном браузере IE.
как сделать чтоб она в том же окне WebBrowser открывалась? гугль чтото не помог в этот раз( Последний раз редактировалось Snake22, 20.02.2011 в 16:08. |
#2
|
||||
|
||||
![]() если не ошибаюсь то:
в событии WebBrowser.NewWindow: Код:
var Can:CancelEventArgs; begin Can.Cancel:= true; ![]() Последний раз редактировалось eXplorer, 20.02.2011 в 20:04. |
#3
|
|||
|
|||
![]() чтото ругается на
var Can:CancelEventArgs; Undeclared identifier |
#4
|
||||
|
||||
![]() нужно модуль подключить в uses...
только проблема... я его не помню ![]() ![]() ![]() |
#5
|
||||
|
||||
![]() нет... я не то говорю...
просто в событие WebBrowser1NewWindow2 нужно добавить: Код:
Cancel:= true; ![]() ![]() |
#6
|
|||
|
|||
![]() Цитата:
![]() |
#7
|
||||
|
||||
![]() ![]() ![]() |
#8
|
|||
|
|||
![]() хмм.а ты на какоом сайте проверял.
если в гугл перейти и там на любой рез-тат поиска нажать то ниче не произойдет. а если убрать Cancel:= true; то откроется в родном браузере |
#9
|
||||
|
||||
![]() 'http://www.yandex.ru/'
![]() |
#10
|
|||
|
|||
![]() =(.блин.
а может можно как то сделать такое.нажимаю я на ссылку,ссылка копируется в какую нить переменную,потом происходит событие Cancel:= true; и потом ссылка из переменной в браузер вставляется =) как перехватить ссылку???)) |
#11
|
||||
|
||||
![]() У WebBrowser-а есть событие (если не ошибаюсь) OnBeforNavigate. В процедуре этого события есть параметр URL, который как раз и горворит, куда браузер собрался переходить. А так же есть параметр Cancel, который отменит переход.
Писал по памяти. Перед глазами нет делфи. Возможно попутал названия параметров, но событие точно верное ![]() Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#12
|
|||
|
|||
![]() да спасибо,такое событие есть,ща буду голоу ломать как реализовать вышеописанную штуку.а то так замкнутый цикл получается : кликаю по ссылке,она передается в url,потов происхоит cancel,потом браузер переходит по ссылке из переменной url,ссылка опять передается в переменную url и так до бесконечности :d
|
#13
|
|||
|
|||
![]() блин,так ниче и не придумал толком(((
появился такой вариант: на событии WebBrowser1NewWindow2 прописать: Код:
var webbrowser2 : TWebBrowser; begin webbrowser2 := TWebBrowser.Create(Self); TWinControl(WebBrowser2).Visible :=false; ppDisp := webbrowser2.ControlInterface; Self.InsertControl(webbrowser2); webbrowser2.width:=1; webbrowser2.height:=1; ShowMessage(WebBrowser2.LocationURL); НО , последняя строка кода ShowMessage(WebBrowser2.LocationURL); возвращает пустое значение! помогите доработать пожалуйста, (правда в конечном варианте планирую не showmessage а WebBrowser1.Navigate(WeBBrowser2.LocationURL)) непойму почему там пусто,хотя если убрать свойство ".Visible :=false" то второй созданный броузер норм отобразит нужную страничку. |
#14
|
|||
|
|||
![]() upd.вдохновение вернулось,надо бы дописать эту вещь описанную выше.всё еще требуется помощь,помогите
![]() |
#15
|
|||
|
|||
![]() а всё,ща на свежую голову все сделал =)
получилось так: добавил на форму компонент webbrowser2,и в событие oncreate формы написал webbrowser2.hide; и потом в событии веббровсер1 WebBrowser1NewWindow2 ppDisp := webbrowser2.ControlInterface; а в веббровсере2 на событие OnBeforNavigate WebBrowser1.Navigate(URL); Cancel:=true; //cancel=true здесь всегото чтоб никчёмный переход не выполнялся)) и всё))) зы а никто не знает как скрыть webbrowser2 не через событие on form create а чтоб сразу скрыт был? Последний раз редактировалось Snake22, 24.02.2011 в 18:46. |