powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление страницы TWebBrowser
9 сообщений из 9, страница 1 из 1
Обновление страницы TWebBrowser
    #33482767
r00st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая проблема. Использую TWebBrowser для получения контента страницы.
Страница на сервере обновляется раз в несколько минут, при этом в приложении она не обновляется.
Если на страницу зайти с помощью IE (или обновить ее из IE), то в приложении она обновится нормально.

Обновляю вот так.
Flag := navNoWriteToCache; // явно указывается, чтоб кеш не брался
Url := FormSetup.URLEdit.Text; // url
web.Navigate2(Url, Flag);

Пробовал перед обновлением обращатсья к другой странице, потом - к необходимой. Не помголо, отобраается стара инфа.

Свойство RegisterAsBrowser = True. Если это на что-то влияет ))
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #33483445
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А старый добрый
Код: plaintext
1.
2.
3.
 procedure  TForm1.Button1Click(Sender: TObject);
 begin 
 WebBrowser1.Refresh
 end ;
Уже не канает?
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #33488726
r00st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NebaryА старый добрый
Код: plaintext
1.
2.
3.
 procedure  TForm1.Button1Click(Sender: TObject);
 begin 
 WebBrowser1.Refresh
 end ;
Уже не канает?

прикольно придумано. сам догадался ?
написал же: пока страницу в ИЕ не обновишь инфа не меняется.
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #33488743
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит я тебя не понял. И судя по количеству ответов не только я. Опиши подробнее свою ситуацию. Я так понял, что ты вместо Refresh снова навигейт делаешь. Жду.
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #33492950
Gefest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если надо ловить момент окончания загрузки страницы в TWebBrowser
Попробуйте использовать следующий вариант

для простоты создайте глобальную переменную
Код: plaintext
1.
2.
 Var 
  CurDispatch: IDispatch;
Потом обрабатывайте события
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 //OnNavigateComplete2 
 procedure  TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
   const  pDisp: IDispatch;  var  URL: OleVariant);
 begin 
   if  CurDispatch =  nil   then 
    CurDispatch := pDisp;  {IDispatch страницы которая грузится} 
 end ;

 //onDocumentComplete 
 procedure  TForm1.WebBrowser1DocumentComplete(Sender: TObject;
   const  pDisp: IDispatch;  var  URL: OleVariant);
 var 
  HTMLDocument: IHTMLDocument2;
 begin 
   if  (pDisp = CurDispatch)  then  
   begin   {если загрузилась та страница, которую мы хотели} 
    CurDispatch :=  nil ;  {Очищаем временную переменную} 
     {дальше можете делать с контентом все что хотите} 
    HTMLDocument := WebBrowser1.Document  as  IHTMLDocument2;
     {Все содержимое документа есть, теперь его хоть по тегам разбирай} 
   end ;
 end ;

Загрузку страницы можете использовать через метод
Код: plaintext
1.
  WebBrowser1.Navigate('http://www.ru'); 
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Обновление страницы TWebBrowser
    #34423346
DarkOmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа Извините пожвлуйста но у меня вопрос по той же теме как дождаться окончания загрузки страницы и nujkmrj потом продолжить выполнение программы именно по тэгам разобрать и нужно в приведённом примере не понял не могли бы Вы объяснить поподробнее Плиззззззз очень надо
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Обновление страницы TWebBrowser
    #39525109
MaNuNa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Nebary, и остальные знатоки!
Такой вопрос: Я создал веб проект в Delphi (WebBroker/Web Service Application).
HTML страницу в броузер клиента я вывожу нормально, на нее вывожу несколько переменных при помощи "PageProducer", к примеру так

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
if TagString = 'Value' then
  begin
   ReplaceText:=Value;
  end else

  if TagString = 'Date' then
  begin
   ReplaceText:=DateToStr(Now)+' '+TimeToStr(Now);
  end;
end;



Мне нужно при изменении на стороне сервера глобальной переменной "Value" как то генерировать обновление либо всей страницы, либо если возможно то обновление именно той переменной которая изменилась.
Собственно сам вопрос - Какую функцию можно запустить на сервере, при событии изменения, чтобы переменная обновилась в броузере клиента?
Возможно есть другие компоненты для динамического вывода переменных в броузер клиента?
Буду очень благодарен за предложенное решение!
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #39525153
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaNuNa,

способов много всяких. удобнее всего смотреть в сторону ajax'а и собирать страницу на стороне клиента, вообще без компонент делфи. космоса какого-то нет, но, конечно, нужно знать как это всё делается.
на унигуе то вообще 2 строки кода. но явно вам будет дорого, из пушки по воробьям.
...
Рейтинг: 0 / 0
Обновление страницы TWebBrowser
    #39525596
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaNuNa,

JavaScript + websocket. Ajax нужно дергать с клиента, websocket позволяет двухсторонню связь.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление страницы TWebBrowser
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]