| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: ActiveX/СОМ/CORBA > два WebBrowserа в одной программе |
| Автор: Гость_Игорь 15.12.2005, 23:58 |
| В программе два WebBrowserа, можно ли при щелчке по сылке в одном браузере загружалось бы информация (html файл) в один браузер одна, в другой браузер другая, т.е. по одному щелку загружались две разные страницы в разные браузеры? |
| Автор: December 16.12.2005, 00:14 |
| Конечно, лови OnBeforeNavigate и делай всё что тебе нравится. Например, напиши более подробно, что тебе нужно |
| Автор: Гость_Игорь 16.12.2005, 09:41 |
| Так и сделал, но при этом в двух браузерах загрузились одинаковые офайлы, как сделать чтоб загрузились разные html файлы? Подробнее: у меня два окна (браузера) - одно окно выполняет функцию шапки, второе функцию вывода информации. Щелкаем по сылке в первом браузере -> загружается информация во второй браузер (html файл), в первом же браузере (шапка) тоже загружается информация, но из другого html файла, т.е. прооисходит загрузка сразу двух html файлов. |
| Автор: December 16.12.2005, 11:06 | ||
| Ну дык, в чём проблема? Тебе надо как-то определить, какие два файла должны загрузиться в бродилки. Юзер кликает на линке, происходит OnBeforeNavigate, ты определяешь, где должны быть какие урлы url1:=URL; url2:='bbb.html'; и запускай их: WebBrowser1.Navigate(url1); WebBrowser2.Navigate(url2);
ты, вероятно, сделал так: WebBrowser1.Navigate(URL); WebBrowser2.Navigate(URL); |
| Автор: Guest 17.12.2005, 15:57 |
| December я так и делал, но при этом ошибка, идет переполнения стека. Да и у меня в шапке более одной сылки. Получается мне надо узнать по какой я сылке щелкнул и передать одному браузеру одну сылку, а в шапке загрузить свою страницу. |
| Автор: December 17.12.2005, 16:39 | ||
Да, я не совсем точно выразил мысль. Суть сводилась к тому, что тебе нужно ручками проанализировать, на какой ссылке ты шёлкнул, на основании этого выяснить, какие урлы должны куда пойти, и ручками их вызвать. При этом если URL<>url1, то надо сначала отменить текущий переход (Cancel:=true), иначе получится, что ты рекурсивно вызываешь OnBeforeNavigate (отсюда и переполнение). Если же URL=url1, то не надо ни отменять переход, ни вызывать первый Navigate. |