Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Окончание загрузки TWebBrowser


ajunta ©   (2008-06-01 15:49:00) 

всем доброго времени суток. помогите пожалуйста решить задачку:

надо выполнить процедуру по завершению загрузки странички в TWebBrowser, посмотрел его события - нашел несколько, но все они (OnDownloadComplete, OnDocumetnComplete, OnNavigateComplete) вызывабтся несколько раз, (пробовал заходить на torrents.ru)

как-то можно отловить момет когда уже все загружено?


Правильный_Вася   (2008-06-02 11:21:00) [1]

OnNavigateComplete2 event (TWebBrowser)
?


Vlad Oshin   (2008-06-02 09:31:00) [2]

может такого дожидаться на странице?
</HTML>


Vlad Oshin   (2008-06-02 09:31:00) [3]

может такого дожидаться на странице?
</HTML>


Vlad Oshin   (2008-06-02 09:31:00) [4]

может такого дожидаться на странице?
</HTML>


palva   (2008-06-01 23:05:00) [5]

как-то можно отловить момет когда уже все загружено?
Сначала надо понять, что значит все загружено. Если страничка загрузилась, но через 1 секунду она снова обратится с запросом к Интернету, а через пять секунд еще... Можно ли про нее говорить, что все загружено?

То есть нужно рассматривать конкретный сайт и выяснять, что означает каждый NavigateComplete


Умище-0111   (2008-06-01 22:27:00) [6]


> ajunta ©   (01.06.08 21:20) [8]
> Если бы к гуглю.... значит способ неуниверсальный....


У меня один раз срабатывает.


ajunta   (2008-06-01 21:20:00) [7]

Если бы к гуглю.... значит способ неуниверсальный....


  (2008-06-01 21:18:00) [8]

Удалено модератором


  (2008-06-01 21:11:00) [9]

Удалено модератором


ajunta   (2008-06-01 21:09:00) [10]


> разу после окончания загруки страницы управление передаётся
> DocumentComplete


если WebBrowser1.Navigate('google.com');
OnDocumentComplete выполниться не один раз. оно вызывается еще до того, как страничка прогрузилась на деле.


  (2008-06-01 21:08:00) [11]

Удалено модератором


  (2008-06-01 21:06:00) [12]

Удалено модератором


ajunta   (2008-06-01 20:52:00) [13]

Попробовал, но в такой ситуации например:


procedure TForm1.Button5Click(Sender: TObject);
var i:integer;
   Persist : IPersistFile;
   Document : IHTMLDocument2;
   b : LongBool;

  source:string;
  filename: pWideChar;

begin
for i:= 0 to 10 do begin
 WebBrowser.Navigate(' http://www.google.com/search?q='+inttostr(i));
 while WebBrowser.Busy do Application.ProcessMessages;
 Document := WebBrowser.Document as IHTMLDocument2;
 Persist := Document as IPersistFile;
 b:=false;
 source:='page'+inttostr(i)+'.html';
 GetMem(filename, sizeof(WideChar) * Succ(Length(source)));
 StringToWideChar(source, filename, Succ(Length(source)));
 Persist.Save(filename,b);
 FreeMem(filename);
end;
log.Lines.Add('OK!')
end;


зада была в том, что бы сохранить результаты поиска для циф от 0 для 10, но в результате во всех файла только результат поиска для 0, а дальше ничего не меняется, хотя Navigate вызывается... :-\


Ум_ще   (2008-06-01 16:15:00) [14]

Не пробовал такой вариант?

 while WebBrowser1.Busy do Application.ProcessMessages;


Наверх

Титульная страница Поиск, карта сайта Написать письмо